/*
Theme Name: Newsworld Dynamic
Theme URI: https://wordpress.org/themes/newsworld
Author: WordPress Theme Team
Description: A dynamic WordPress news/magazine theme based on the BW Businessworld design
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.txt
Text Domain: newsworld
Domain Path: /languages
*/

/* =====================================================
   DESIGN SYSTEM — COLORS + TYPOGRAPHY VARIABLES
   ===================================================== */
:root{
  /* Colors (preserved from original design) */
  --red:#E4002B;
  --blue:#0B4EA2;
  --ink:#1a1a1a;
  --muted:#6b6b66;
  --line:#e6e4dd;
  --bg:#fafaf7;
  --card:#ffffff;

  /* Typography — DM Sans (loaded via Google Fonts, display=swap) */
  --font-primary:"DM Sans",Arial,Helvetica,sans-serif;
  --font-heading:var(--font-primary);
  --font-body:var(--font-primary);
  --font-nav:var(--font-primary);

  --font-size-xs:11px;
  --font-size-sm:12px;
  --font-size-base:14px;
  --font-size-lg:16px;
  --font-size-xl:20px;
  --font-size-2xl:26px;
  --font-size-display:32px;

  --line-height-tight:1.15;
  --line-height-normal:1.5;
  --line-height-relaxed:1.65;

  /* Layout */
  --container-max:1000px;
  --container-pad-desktop:24px;
  --container-pad-mobile:15px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{overflow-x:clip;}
body{
  background:var(--bg);
  color:var(--body-color, var(--ink));
  font-family:var(--font-body);
  font-size:var(--font-size-base);
  line-height:var(--line-height-relaxed);
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}

/* Accessible focus state */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--red);
  outline-offset:2px;
}

/* ---------- HEADER ---------- */
.site-header, header{
  background:var(--card);
  border-bottom:2px solid var(--ink);
  padding:20px 24px 14px;
  text-align:center;
}
.site-header-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.site-header-row .logo{min-width:0;}
/* Logo — intentionally NOT modified (original design) */
.logo{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:800;
  font-size:30px;
  letter-spacing:0.5px;
}
.logo span:first-child{color:var(--red);}
.logo span:last-child{color:var(--blue);}
.logo img{
  max-height:var(--logo-height, 60px);
  width:auto;
  margin:0 auto;
  display:block;
}
.datebar{
  font-family:var(--font-body);
  font-size:var(--font-size-sm);
  color:var(--muted);
  margin-top:2px;
  letter-spacing:.2px;
}

/* ---------- NAVIGATION ---------- */
.main-navigation{
  background:var(--nav-bg, var(--ink));
  display:flex;
  justify-content:center;
  align-items:center;
  gap:26px;
  padding:10px 16px;
  font-family:var(--font-nav);
  font-size:var(--font-size-sm);
  font-weight:600;
  letter-spacing:.2px;
  flex-wrap:wrap;
}
.main-navigation.sticky{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  box-shadow:0 2px 10px rgba(0,0,0,.3);
}
.main-navigation a{color:var(--nav-text, #f2f2ee);}
.main-navigation a:hover{color:var(--red);}
.main-navigation .menu{
  list-style:none;
  display:flex;
  gap:26px;
  flex-wrap:wrap;
  justify-content:center;
}
.main-navigation .menu a{
  color:var(--nav-text, #f2f2ee);
  padding:6px 0;
  display:block;
}
.main-navigation .menu a:hover{color:var(--red);}
.menu-toggle{
  display:none;
  background:var(--red);
  color:#fff;
  border:none;
  min-width:44px;
  min-height:44px;
  padding:8px 16px;
  font-family:var(--font-nav);
  font-size:var(--font-size-base);
  font-weight:600;
  cursor:pointer;
  line-height:1.2;
}

/* ---------- BREAKING NEWS TICKER ---------- */
.breaking-ticker{
  display:flex;
  align-items:stretch;
  background:var(--red);
  color:#fff;
  overflow:hidden;
  font-family:var(--font-body);
  font-size:var(--font-size-sm);
}
.breaking-ticker .ticker-label{
  flex-shrink:0;
  background:var(--ink);
  color:#fff;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  padding:8px 14px;
  display:flex;
  align-items:center;
  white-space:nowrap;
}
.breaking-ticker .ticker-track{
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
  overflow:hidden;
  white-space:nowrap;
}
.breaking-ticker ul{
  list-style:none;
  margin:0;
  padding:8px 14px;
  display:flex;
  gap:34px;
  animation:ticker-scroll 32s linear infinite;
}
.breaking-ticker ul:hover{animation-play-state:paused;}
.breaking-ticker li{flex-shrink:0;}
.breaking-ticker a{color:#fff;}
.breaking-ticker a:hover{color:#ffe9e9;text-decoration:underline;}
@keyframes ticker-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ---------- MAIN GRID ---------- */
main, .site-main{
  max-width:var(--container-max);
  margin:0 auto;
  padding:28px var(--container-pad-desktop) 60px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:32px;
  align-items:start;
}
.primary-column{min-width:0;}

/* ---------- CATEGORY LABEL (shared) ---------- */
.eyebrow,
.cat-badge{
  font-family:var(--font-body);
  font-size:var(--font-size-xs);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.eyebrow{
  color:var(--red);
  margin-bottom:6px;
}

/* ---------- HERO / FEATURED ARTICLE ---------- */
.hero{
  border-bottom:1px solid var(--line);
  padding-bottom:26px;
  margin-bottom:26px;
}
.hero .eyebrow{margin-bottom:8px;}
.hero img{
  width:100%;
  height:var(--hero-height, 280px);
  object-fit:cover;
  background:#ddd;
  display:block;
  margin-bottom:16px;
}
.hero h1,
.entry-title{
  font-family:var(--font-heading);
  font-size:var(--font-size-display);
  font-weight:700;
  line-height:var(--line-height-tight);
  letter-spacing:-.4px;
  margin-bottom:10px;
}
.hero p, .hero .entry-excerpt p{
  color:var(--muted);
  font-size:var(--font-size-base);
  line-height:var(--line-height-relaxed);
}

/* ---------- META / DATE ---------- */
.meta{
  font-family:var(--font-body);
  font-size:var(--font-size-xs);
  font-weight:400;
  letter-spacing:.2px;
  color:var(--muted);
  margin-bottom:8px;
}
.meta time{display:inline-block;}

/* ---------- SECTION TITLE ---------- */
.section-title,
.widget-title,
.widget h3{
  font-family:var(--font-body);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.6px;
  line-height:1.2;
  color:var(--heading-color, var(--ink));
  border-bottom:2px solid var(--ink);
  padding-bottom:6px;
  margin-bottom:16px;
}
.section-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
}
.section-title .st-title{
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  text-transform:inherit;
  letter-spacing:inherit;
  line-height:inherit;
}
.view-all-link{
  font-family:var(--font-body);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.2px;
  text-transform:none;
  color:var(--blue);
  white-space:nowrap;
  padding-bottom:1px;
}
.view-all-link:hover{color:var(--red);}

/* ---------- STORY LIST (MUST READ / OPINION / INTERVIEWS) ---------- */
.story-list{list-style:none;}
.story-list li{
  display:flex;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.story-list li:last-child{border-bottom:none;}
.story-list li>a{display:block;line-height:0;flex-shrink:0;}
.story-list img{
  width:100px;
  height:72px;
  object-fit:cover;
  background:#ddd;
  flex-shrink:0;
}
.story-list .txt{flex:1;min-width:0;}
.story-list h3{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:700;
  line-height:1.3;
  margin-bottom:4px;
  overflow-wrap:break-word;
}
.story-list h3:hover, .story-list h3 a:hover{color:var(--blue);}

/* ---------- SIDEBAR / ASIDE ---------- */
aside, .aside, .sidebar{
  border-left:1px solid var(--line);
  padding-left:28px;
  min-width:0;
}
.sidebar-list{list-style:none;}
.sidebar-list li{
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  font-family:var(--font-body);
}
.sidebar-list li:last-child{border-bottom:none;}
.sidebar-list li>a{display:block;line-height:0;flex-shrink:0;}
.sidebar-list img{
  width:86px;
  height:56px;
  object-fit:cover;
  background:#ddd;
  flex-shrink:0;
  border-radius:4px;
  display:block;
}
.sidebar-list li>div{flex:1;min-width:0;}
.rank{display:none;}
.sidebar-list h4{
  font-family:var(--font-heading);
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  margin-bottom:3px;
  overflow-wrap:break-word;
}
.sidebar-list h4 a:hover, .sidebar-list h4:hover{color:var(--red);}
.sidebar-list .meta{margin:0;}

/* ---------- NEWSLETTER ---------- */
.newsletter{
  margin-top:28px;
  background:var(--blue);
  color:#fff;
  padding:20px;
  font-family:var(--font-body);
}
.newsletter h4{font-size:var(--font-size-lg);font-weight:700;margin-bottom:6px;}
.newsletter p{font-size:var(--font-size-sm);opacity:.85;margin-bottom:12px;line-height:var(--line-height-normal);}
.newsletter button{
  background:var(--red);
  color:#fff;
  border:none;
  min-height:42px;
  padding:9px 18px;
  font-size:var(--font-size-sm);
  font-weight:700;
  font-family:var(--font-body);
  letter-spacing:.5px;
  text-transform:uppercase;
  cursor:pointer;
}
.newsletter input[type="email"]{
  padding:9px 12px;
  border:none;
  min-height:42px;
  font-size:var(--font-size-sm);
  font-family:var(--font-body);
  margin-right:8px;
  width:62%;
  max-width:250px;
}
.newsletter-msg{
  margin-top:10px;
  font-size:var(--font-size-sm);
  background:rgba(255,255,255,.18);
  padding:8px 10px;
  border-radius:2px;
}
.newsletter-msg.msg-ok{
  background:rgba(46,125,50,.35);
  border-left:3px solid #4caf50;
}
.newsletter-msg.msg-error{
  background:rgba(211,47,47,.35);
  border-left:3px solid #e57373;
}
.newsletter button:disabled{opacity:.6;cursor:wait;}

/* ---------- FOOTER ---------- */
.footer, footer{
  background:var(--ink);
  color:#c9c9c4;
  text-align:center;
  padding:22px;
  font-family:var(--font-body);
  font-size:var(--font-size-sm);
  overflow-x:clip;
}
.footer-widgets{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  text-align:left;
  max-width:var(--container-max);
  margin:0 auto 22px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-widgets .widget-title,
.footer-widgets .widget h3{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.25);
}
.footer-widgets a{color:#c9c9c4;}
.footer-widgets a:hover{color:var(--red);}
.footer-widgets .widget li{font-size:var(--font-size-sm);padding:7px 0;border-color:rgba(255,255,255,.1);}
.footer a, footer a{color:#c9c9c4;}
.footer a:hover, footer a:hover{color:var(--red);}
.footer-menu{
  list-style:none;
  display:flex;
  gap:16px;
  justify-content:center;
  margin-top:10px;
  flex-wrap:wrap;
}

/* ---------- FEATURE GRID (TECHNOLOGY / BW FEATURES) ---------- */
.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:30px;
}
.feature-grid article, .feature-grid .card{min-width:0;}
.feature-grid img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#ddd;
  display:block;
  margin-bottom:8px;
}
.feature-grid h4{
  font-family:var(--font-heading);
  font-size:14.5px;
  font-weight:600;
  line-height:1.3;
  overflow-wrap:break-word;
}
.feature-grid h4 a{display:block;}
.feature-grid h4 a:hover{color:var(--blue);}

/* ---------- MAGAZINE ---------- */
.magazine{
  display:flex;
  gap:18px;
  align-items:flex-start;
  margin-bottom:30px;
}
.magazine img{
  width:130px;
  height:170px;
  object-fit:cover;
  background:#ddd;
  flex-shrink:0;
}
.magazine>div{flex:1;min-width:0;}
.magazine h4{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:700;margin-bottom:8px;}
.magazine button{
  background:var(--red);
  color:#fff;
  border:none;
  min-height:42px;
  padding:8px 16px;
  font-size:var(--font-size-sm);
  font-weight:700;
  font-family:var(--font-body);
  text-transform:uppercase;
  letter-spacing:.4px;
  cursor:pointer;
  margin-right:8px;
}
.magazine .outline{
  background:none;
  border:1px solid var(--ink);
  color:var(--ink);
}

/* ---------- COMMUNITIES ---------- */
.communities{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.communities .col{min-width:0;}
.communities .col h5{
  font-family:var(--font-body);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.4px;
  background:var(--ink);
  color:#fff;
  padding:8px 12px;
  margin-bottom:2px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.communities .col h5 .view-all-link{
  color:#fff;
  opacity:.85;
}
.communities .col h5 .view-all-link:hover{
  color:#fff;
  opacity:1;
  text-decoration:underline;
}
.communities ul{
  list-style:none;
  background:var(--card);
  border:1px solid var(--line);
  border-top:none;
}
.communities li{
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  font-family:var(--font-body);
  font-size:13px;
  line-height:var(--line-height-normal);
}
.communities li:last-child{border-bottom:none;}
.communities li:hover{color:var(--blue);}

/* =====================================================
   WORDPRESS DYNAMIC CLASSES
   ===================================================== */
.screen-reader-text{
  clip:rect(1px,1px,1px,1px);
  position:absolute !important;
  height:1px;width:1px;overflow:hidden;
}
.skip-link{
  position:absolute;
  left:-1000px;
  top:5px;
  z-index:1000;
  background:var(--ink);
  color:#fff;
  padding:10px 16px;
}
.skip-link:focus{left:5px;color:#fff;}

.wp-caption{max-width:100%;}
.wp-caption-text{font-size:.85em;color:var(--muted);text-align:center;padding:6px 0;}
.alignleft{float:left;margin-right:1.5em;}
.alignright{float:right;margin-left:1.5em;}
.aligncenter{display:block;margin:0 auto;}
.sticky{background:#fffbe6;}
.bypostauthor{font-weight:bold;}

/* Headings — global hierarchy */
h1{font-family:var(--font-heading);font-size:clamp(28px,5vw,34px);font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.4px;}
h2{font-family:var(--font-heading);font-size:clamp(22px,4vw,26px);font-weight:700;line-height:1.2;letter-spacing:-.2px;}
h3{font-family:var(--font-heading);font-size:clamp(17px,3vw,20px);font-weight:700;line-height:1.25;}
h4{font-family:var(--font-heading);font-size:var(--font-size-lg);font-weight:700;line-height:1.25;}
h5,h6{font-family:var(--font-heading);font-weight:700;}
h1,h2,h3,h4,h5,h6{color:var(--heading-color, var(--ink));}

.entry-title{font-size:var(--font-size-display);letter-spacing:-.4px;}
.entry-content{
  margin-top:18px;
  font-size:15px;
  line-height:var(--line-height-relaxed);
  max-width:100%;
  overflow-wrap:break-word;
}
.entry-content p{margin-bottom:1.5em;}
.entry-content a{color:var(--blue);}
.entry-content h2,.entry-content h3,.entry-content h4{margin:1.2em 0 .5em;}
.post-thumbnail{margin-bottom:18px;}
.post-thumbnail img{width:100%;height:auto;}
.page-title{
  font-family:var(--font-heading);
  font-size:var(--font-size-2xl);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.4px;
  border-bottom:2px solid var(--ink);
  padding-bottom:8px;
  margin-bottom:20px;
}
.widget{margin-bottom:28px;min-width:0;}
.widget ul{list-style:none;}
.widget li{
  padding:8px 0;
  border-bottom:1px solid var(--line);
  font-family:var(--font-body);
  font-size:13px;
  line-height:var(--line-height-normal);
  overflow-wrap:break-word;
}
.widget li:last-child{border-bottom:none;}

.pagination{
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
  padding:24px 0;
  font-family:var(--font-body);
}
.pagination a,.pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  min-height:38px;
  padding:0 12px;
  border:1px solid var(--line);
  background:var(--card);
  color:var(--ink);
  font-size:var(--font-size-sm);
  font-weight:600;
}
.pagination .current,.pagination a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.comment-list{list-style:none;margin-bottom:24px;}
.comment-list .comment{background:var(--card);border:1px solid var(--line);padding:16px;margin-bottom:16px;}
.comment-form input,.comment-form textarea{
  padding:10px;
  border:1px solid var(--line);
  font-family:var(--font-body);
  margin-bottom:12px;
  width:100%;
  font-size:var(--font-size-base);
}
.submit-button{
  background:var(--red);
  color:#fff;
  border:none;
  min-height:44px;
  padding:10px 20px;
  font-size:var(--font-size-sm);
  font-weight:700;
  font-family:var(--font-body);
  cursor:pointer;
}
.search-form{display:flex;gap:8px;margin-bottom:20px;}
.search-form input[type="search"]{
  flex:1;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  font-family:var(--font-body);
  font-size:var(--font-size-base);
}
.search-form button{
  background:var(--ink);
  color:#fff;
  border:none;
  min-height:44px;
  padding:10px 16px;
  font-family:var(--font-body);
  font-size:var(--font-size-sm);
  font-weight:700;
  cursor:pointer;
}
.no-results{padding:30px 0;}
.archive-header{
  margin-bottom:26px;
  padding-bottom:18px;
  border-bottom:2px solid var(--ink);
}
.archive-kicker{
  display:inline-block;
  font-family:var(--font-body);
  font-size:var(--font-size-xs);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:var(--red);
  margin-bottom:6px;
}
.archive-header .page-title{
  text-transform:none;
  letter-spacing:-.3px;
  border-bottom:none;
  padding-bottom:0;
  margin-bottom:0;
  font-size:clamp(24px,4vw,32px);
}
.archive-count{
  display:inline-block;
  background:var(--card);
  border:1px solid var(--line);
  color:var(--muted);
  font-family:var(--font-body);
  font-size:var(--font-size-xs);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.4px;
  padding:4px 10px;
  margin-top:10px;
}
.archive-description{
  color:var(--muted);
  margin:10px 0 0;
  font-size:var(--font-size-base);
  max-width:65ch;
}
.archive-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}
.archive-card{
  background:var(--card);
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  min-width:0;
  transition:box-shadow .2s ease, transform .2s ease;
}
.archive-card:hover{
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transform:translateY(-2px);
}
.archive-card-media{
  display:block;
  line-height:0;
  overflow:hidden;
}
.archive-card-media img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#ddd;
  transition:transform .3s ease;
}
.archive-card:hover .archive-card-media img{transform:scale(1.03);}
.archive-card-body{
  padding:14px 16px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.archive-card-body .meta{margin-bottom:0;}
.archive-card-body h3{
  font-family:var(--font-heading);
  font-size:16.5px;
  font-weight:700;
  line-height:1.3;
  overflow-wrap:break-word;
}
.archive-card-body h3 a:hover{color:var(--blue);}
.archive-card-excerpt{
  font-size:var(--font-size-sm);
  line-height:var(--line-height-normal);
  color:var(--muted);
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.related-posts{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:30px;
}
.related-posts .related-item{min-width:0;}
.related-posts img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#ddd;margin-bottom:8px;}
.related-posts h4{
  font-family:var(--font-heading);
  font-size:14.5px;
  font-weight:600;
  line-height:1.3;
  overflow-wrap:break-word;
}
.related-posts h4 a{display:block;}

/* ---------- SINGLE POST & EXTRA COMPONENTS ---------- */
.breadcrumbs{
  font-family:var(--font-body);
  font-size:var(--font-size-sm);
  color:var(--muted);
  margin-bottom:16px;
  overflow-wrap:break-word;
}
.breadcrumbs a{color:var(--muted);}
.breadcrumbs a:hover{color:var(--red);}
.breadcrumbs .breadcrumb-current{color:var(--ink);}
.cat-badge{
  display:inline-block;
  background:var(--red);
  color:#fff;
  font-size:var(--font-size-xs);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  padding:4px 10px;
  margin-bottom:12px;
}
.entry-subtitle{
  font-size:var(--font-size-lg);
  color:var(--muted);
  line-height:1.4;
  margin-bottom:16px;
}
.meta-sep{opacity:.5;margin:0 4px;}
.featured-media{margin-bottom:20px;}
.featured-media img{width:100%;height:auto;background:#ddd;}
.entry-tags{
  font-size:var(--font-size-sm);
  margin:20px 0;
}
.entry-tags a{
  color:var(--blue);
  background:var(--card);
  border:1px solid var(--line);
  padding:4px 10px;
  margin:0 4px 6px 0;
  display:inline-block;
  font-family:var(--font-body);
}
.entry-tags a:hover{color:var(--red);border-color:var(--red);}
.author-box{
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:var(--card);
  border:1px solid var(--line);
  padding:20px;
  margin:24px 0;
}
.author-box img{border-radius:50%;}
.author-box h4{font-size:var(--font-size-lg);margin-bottom:6px;}
.author-box p{font-size:var(--font-size-sm);color:var(--muted);margin:0;line-height:var(--line-height-normal);}
.post-navigation{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:16px 0;
  margin:20px 0;
  font-family:var(--font-body);
  font-size:var(--font-size-base);
}
.post-navigation a{color:var(--blue);}
.post-navigation a:hover{color:var(--red);}
.breadcrumbs,.featured-media,.entry-tags,.author-box,.post-navigation{max-width:100%;}

/* ---------- SOCIAL LINKS ---------- */
.social-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:14px;
}
.social-link{
  color:var(--red);
  font-family:var(--font-body);
  font-size:var(--font-size-sm);
  font-weight:600;
}
.social-link:hover{color:#fff;}

/* ---------- OVERFLOW SAFETY NET (all viewports) ---------- */
.feature-grid,
.related-posts,
.communities,
.footer-widgets,
.story-list li,
.sidebar-list li,
.magazine,
.widget,
.entry-content,
.aside{
  min-width:0;
  max-width:100%;
}
.entry-content table,
.wp-block-table{table-layout:auto;width:100%;min-width:520px;}
@media (max-width:576px){
  .entry-content table,
  .wp-block-table{
    display:block;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    min-width:380px;
  }
}

/* =====================================================
   RESPONSIVE SYSTEM — DESKTOP TO 320px
   (consolidated; no conflicting duplicates)
   ===================================================== */

/* --- ≤1440px (convenience for large laptops) --- */
@media (max-width:1440px){
  main, .site-main{gap:28px;}
}

/* --- ≤1200px --- */
@media (max-width:1200px){
  .feature-grid{grid-template-columns:repeat(3,1fr);}
}

/* --- ≤992px (tablet landscape) --- */
@media (max-width:992px){
  main, .site-main{
    grid-template-columns:minmax(0,1fr) 280px;
    gap:24px;
    padding:24px 18px 54px;
  }
  .feature-grid{grid-template-columns:1fr 1fr;}
  .related-posts{grid-template-columns:1fr 1fr;}
  .hero img{height:240px;}
  .hero h1{font-size:clamp(27px,5vw,31px);}
  .story-list h3{font-size:15px;}
  .sidebar-list img{width:78px;height:50px;}
}

/* --- Desktop submenu dropdown (only ≥993px to avoid conflicts) --- */
@media (min-width:993px){
  .main-navigation .menu-item-has-children{position:relative;}
  .main-navigation .sub-menu{
    position:absolute;
    left:0;
    top:100%;
    min-width:200px;
    background:var(--card);
    color:var(--ink);
    border:1px solid var(--line);
    display:none;
    flex-direction:column;
    gap:0;
    padding:8px 0;
    z-index:1100;
    box-shadow:0 6px 16px rgba(0,0,0,.12);
  }
  .main-navigation .menu-item-has-children:hover .sub-menu{display:flex;}
  .main-navigation .sub-menu li{border-bottom:1px solid var(--line);}
  .main-navigation .sub-menu li:last-child{border-bottom:none;}
  .main-navigation .sub-menu a{
    color:var(--ink);
    padding:8px 16px;
    white-space:nowrap;
    font-weight:500;
  }
  .main-navigation .sub-menu a:hover{background:var(--red);color:#fff;}
  .main-navigation .submenu-toggle{display:none;}
}

/* --- ≤768px (tablet portrait → single column) --- */
@media (max-width:768px){
  main, .site-main{
    grid-template-columns:1fr;
    gap:24px;
    padding:20px var(--container-pad-mobile) 50px;
  }
  aside, .aside, .sidebar{
    border-left:none;
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:20px;
  }
  .hero img{height:200px;}
  .hero h1{font-size:clamp(24px,6vw,28px);}
  .feature-grid{grid-template-columns:1fr 1fr;gap:14px;}
  .archive-grid{grid-template-columns:1fr;gap:18px;}
  .communities{grid-template-columns:1fr 1fr;gap:16px;}
  .footer-widgets{grid-template-columns:1fr 1fr;gap:20px;}
}

/* --- Hamburger + accordion menu (≤992px) --- */
@media (max-width:992px){
  .site-header-row{justify-content:center;}
  .main-navigation{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:transparent;
    padding:0;
  }
  .menu-toggle{
    position:fixed;
    right:16px;
    bottom:20px;
    top:auto;
    transform:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    min-width:34px;
    min-height:34px;
    padding:0;
    border-radius:50%;
    font-size:16px;
    line-height:1;
    box-shadow:0 4px 14px rgba(0,0,0,.35);
    z-index:9999;
  }
  .menu-toggle-label{display:none;}
  .main-navigation .menu{
    display:none;
    width:100%;
    gap:0;
  }
  .main-navigation .menu.open{
    position:fixed;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    text-align:left;
    background:var(--nav-bg, var(--ink));
    padding:56px 16px 24px;
    overflow-y:auto;
    z-index:9998;
  }
  .main-navigation .menu li{width:100%;}
  .main-navigation .menu>li>a{
    padding:10px 6px;
    font-size:14px;
    font-weight:600;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .main-navigation .sub-menu{display:none;}
  .main-navigation .sub-menu.open{display:block;width:100%;}
  .main-navigation .sub-menu li a{
    padding:8px 6px 8px 16px;
    font-size:13px;
    font-weight:400;
    opacity:.85;
  }
  .main-navigation .sub-menu li a:hover{opacity:1;color:var(--red);}
  .menu-item-has-children>a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .submenu-toggle{
    background:none;
    border:none;
    color:var(--nav-text, #f2f2ee);
    font-size:11px;
    min-width:30px;
    min-height:30px;
    padding:0 4px;
    cursor:pointer;
    flex-shrink:0;
  }
  .submenu-toggle::after{content:"\25BE";}
}

/* --- ≤576px (large mobile) --- */
@media (max-width:576px){
  .breaking-ticker .ticker-label{padding:6px 10px;font-size:11px;}
  .breaking-ticker ul{gap:22px;padding:7px 10px;}
  main, .site-main{
    padding:16px var(--container-pad-mobile) 44px;
    gap:20px;
  }
  header, .site-header{
    padding:14px var(--container-pad-mobile) 10px;
  }
  .logo{font-size:24px;max-width:100%;}
  .logo img{max-height:calc(var(--logo-height, 60px) * 0.87);}
  .datebar{font-size:var(--font-size-xs);margin-top:2px;}

  .hero{padding-bottom:18px;margin-bottom:18px;}
  .hero img{height:180px;margin-bottom:12px;}
  .hero h1{font-size:clamp(23px,6vw,28px);}
  .hero p, .hero .entry-excerpt p{font-size:var(--font-size-base);}

  .section-title{font-size:12.5px;margin-bottom:12px;}

  /* story list — horizontal image + text */
  .story-list li{gap:11px;padding:11px 0;}
  .story-list img{width:96px;height:66px;border-radius:3px;}
  .story-list h3{font-size:15px;line-height:1.3;}

  /* sidebar */
  .sidebar-list li{gap:10px;padding:10px 0;}
  .sidebar-list img{width:76px;height:50px;border-radius:3px;}
  .sidebar-list h4{font-size:12.5px;}

  /* feature grid → single column */
  .feature-grid{grid-template-columns:1fr;}
  .feature-grid img{height:auto;aspect-ratio:16/9;}
  .feature-grid h4{font-size:15px;}

  /* magazine — stack, buttons full width */
  .magazine{flex-direction:column;gap:12px;margin-bottom:22px;}
  .magazine img{width:100%;height:auto;aspect-ratio:3/4;max-height:220px;}
  .magazine h4{font-size:15px;margin-bottom:6px;}
  .magazine button{
    width:100%;
    margin:0 0 8px;
  }
  .magazine .outline{margin-bottom:0;}

  /* communities — single column */
  .communities{grid-template-columns:1fr;}
  .communities .col h5{font-size:12.5px;padding:8px 12px;}
  .communities li{font-size:var(--font-size-sm);padding:9px 12px;}

  /* newsletter */
  .newsletter{margin-top:22px;padding:16px;}
  .newsletter h4{font-size:15px;}
  .newsletter input[type="email"]{
    width:100%;
    max-width:none;
    margin:0 0 8px;
  }
  .newsletter button{width:100%;}

  /* footer */
  .footer, footer{padding:18px var(--container-pad-mobile);}
  .footer-widgets{
    grid-template-columns:1fr;
    gap:16px;
    padding-bottom:18px;
    margin-bottom:18px;
  }

  .page-title{font-size:20px;}
  .entry-title{font-size:clamp(23px,6vw,28px);}
  .entry-content{font-size:15px;}
  .post-navigation{flex-direction:column;gap:10px;}
  .author-box{flex-direction:column;}
  .related-posts{grid-template-columns:1fr 1fr;gap:12px;}
  .related-posts h4{font-size:13.5px;}
  .pagination{padding:18px 0;}
  .search-form{flex-wrap:wrap;}
  .search-form input[type="search"]{flex:1 1 100%;}
  .search-form button{width:100%;}
}

/* --- ≤480px (small phones) --- */
@media (max-width:480px){
  main, .site-main{padding:14px var(--container-pad-mobile) 38px;}
  header, .site-header{padding:12px var(--container-pad-mobile) 8px;}
  .logo{font-size:21px;}
  .hero img{height:160px;}
  .hero h1{font-size:clamp(23px,6.5vw,26px);}
  .story-list img{width:84px;height:58px;}
  .story-list h3{font-size:14px;}
  .sidebar-list img{width:68px;height:46px;}
  .sidebar-list h4{font-size:12px;}
  .menu-toggle{min-height:34px;min-width:34px;}
  .main-navigation .menu>li>a{padding:8px 6px;font-size:13px;}
  .main-navigation .sub-menu li a{padding:7px 6px 7px 14px;font-size:12px;}
}

/* --- ≤414px --- */
@media (max-width:414px){
  .datebar{white-space:nowrap;}
  .hero img{height:150px;}
  .story-list img{width:78px;height:54px;}
  .related-posts{grid-template-columns:1fr;gap:14px;}
  .related-posts img{aspect-ratio:16/9;}
}

/* --- ≤390px --- */
@media (max-width:390px){
  .logo{font-size:19px;}
  .hero h1{font-size:23px;}
  .entry-title{font-size:23px;}
  .story-list img{width:72px;height:50px;}
  .story-list h3{font-size:13.5px;}
  .sidebar-list img{width:62px;height:42px;}
  .main-navigation .menu>li>a{font-size:13px;padding:11px 4px;}
}

/* --- ≤375px --- */
@media (max-width:375px){
  header, .site-header{padding:10px var(--container-pad-mobile) 6px;}
  .hero p, .hero .entry-excerpt p{font-size:var(--font-size-base);}
  .section-title{font-size:12px;}
}

/* --- ≤320px (tiny screens — mandatory no overflow) --- */
@media (max-width:320px){
  main, .site-main{padding:12px 12px 32px;}
  .hero img{height:136px;}
  .story-list li{flex-direction:column;gap:8px;}
  .story-list img{width:100%;height:auto;aspect-ratio:16/9;border-radius:3px;}
  .story-list h3{font-size:14px;}
  .sidebar-list img{width:56px;height:38px;}
  .magazine img{max-height:190px;}
  .footer-widgets{gap:14px;}
}

/* --- Landscape orientation safety (mobile) --- */
@media (orientation:landscape) and (max-height:480px){
  .main-navigation{position:sticky;top:0;}
  .hero img{height:130px;}
}