:root{
  --red:#e10600;
  --dark:#0f172a;
  --soft:#f8fafc;
  --border:#e5e7eb;
  --muted:#64748b;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont}
html,body{height:100%}
body{
  display:flex;
  flex-direction:column;
  background:var(--soft);
  color:var(--dark);
}

/* HEADER */
header{
  position:sticky;
  top:0;
  z-index:1000;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px;
}
.left{
  display:flex;
  align-items:center;
  gap:12px;
}
.menu-btn{
  font-size:22px;
  cursor:pointer;
}
.logo img{
  height:44px;
}
.epaper{
  border:1px solid var(--border);
  padding:6px 14px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
  color:var(--dark);
  background:#fff;
}
.epaper:hover{
  background:var(--soft);
}

/* BREAKING */
.breaking{
  display:flex;
  align-items:center;
  background:#fff;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.breaking span{
  background:var(--red);
  color:#fff;
  padding:6px 12px;
  font-weight:800;
  font-size:13px;
  letter-spacing:.4px;
  white-space:nowrap;   /* 🔒 never break */
  flex-shrink:0;        /* 🔒 keep width */
}

.breaking marquee{
  padding-left:12px;
  font-weight:600;
  color:#111;
  white-space:nowrap;   /* 🔒 single line */
  overflow:hidden;
}

/* CATEGORIES */
.categories{
  position:sticky;
  top:108px;                 /* adjust if header height changes */
  z-index:900;

  background:#fff;
  border-bottom:1px solid #e5e7eb;

  padding:10px 12px;

  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;          /* 🔒 NO WRAP */
  gap:10px;

  overflow-x:auto;           /* 👉 horizontal scroll */
  overflow-y:hidden;

  -webkit-overflow-scrolling:touch; /* smooth mobile scroll */

  min-height:48px;           /* 🔒 HEIGHT WILL NEVER REDUCE */
}

/* hide scrollbar (optional but clean) */
.categories::-webkit-scrollbar{
  display:none;
}

.categories a{
  flex:0 0 auto;             /* 🔒 important: no shrinking */
  display:inline-flex;
  align-items:center;

  white-space:nowrap;        /* 🔒 single line text */

  padding:8px 16px;
  border-radius:999px;

  background:#f8fafc;
  border:1px solid #e5e7eb;

  font-size:14px;
  font-weight:600;
  line-height:1;             /* 🔒 fixes height jump */

  text-decoration:none;
  color:#0f172a;
}

.categories a:hover{
  background:#e2e8f0;
}

/* DRAWER */
.drawer{
  position:fixed;
  top:0;left:-280px;
  width:280px;height:100%;
  background:#fff;
  box-shadow:4px 0 25px rgba(0,0,0,.2);
  padding:18px;
  transition:.3s;
  z-index:2000;
}
.drawer.active{left:0}
.drawer-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.drawer-header h3{
  font-size:18px;
  font-weight:800;
}
.close-btn{
  font-size:22px;
  cursor:pointer;
}
.drawer a{
  display:block;
  padding:14px 4px;
  text-decoration:none;
  color:var(--dark);
  font-weight:600;
  border-bottom:1px solid var(--border);
}
.drawer a:hover{
  color:var(--red);
}

/* CONTENT */
main{
  flex:1;
  padding:22px;
}
main h2{
  font-size:22px;
  margin-bottom:10px;
}

/* FOOTER */
footer{
  background:#fff;
  border-top:1px solid var(--border);
  padding:26px 12px;
  text-align:center;
}
footer a{
  margin:0 10px;
  color:var(--muted);
  text-decoration:none;
  font-weight:600;
}
footer a:hover{
  color:var(--dark);
}
.dev{
  margin-top:14px;
  font-weight:800;
  color:#111;
}

.news-block{
  background:#fff;
  margin-bottom:30px;
  padding:16px;
  border-radius:10px;
  box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.block-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.block-head h3{
  font-size:20px;
  font-weight:800;
}
.block-head a{
  color:#e10600;
  text-decoration:none;
  font-weight:700;
}

/* MAIN NEWS */
.main-news{
  display:block;
  text-decoration:none;
  color:#111;
}
.main-news img{
  width:100%;
  border-radius:8px;
}
.main-news h2{
  margin-top:10px;
  font-size:22px;
  font-weight:800;
  line-height:1.3;
}

/* SIDE NEWS */
.side-news{
  margin-top:14px;
}
.side-news a{
  display:flex;
  gap:10px;
  padding:10px 0;
  border-top:1px solid #eee;
  text-decoration:none;
  color:#111;
}
.side-news img{
  width:90px;
  height:60px;
  object-fit:cover;
  border-radius:6px;
}
.side-news p{
  font-weight:600;
  line-height:1.3;
}

/* ADS */
.ad-slot{
  margin:14px 0;
  padding:20px;
  text-align:center;
  background:#f3f4f6;
  border-radius:8px;
  color:#777;
}