@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Malayalam:wght@400;500;600;700;800;900&display=swap');
:root {
  --bg: #f3f6fb;
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --text: #172033;
  --muted: #64748b;
  --line: #dbe3ef;
  --brand: #0b57a2;
  --brand-2: #e11d2e;
  --brand-dark: #073b78;
  --danger: #dc2626;
  --success: #15803d;
  --gold: #d97706;
  --shadow: 0 16px 40px rgba(15, 23, 42, .09);
  --radius: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Noto Sans Malayalam', Arial, Helvetica, sans-serif;
  color: var(--text);
  background: radial-gradient(circle at 12% 0%, #dcecff, transparent 28%), var(--bg);
}
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; object-fit: cover; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.top-shell {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
}
.utility-bar {
  max-width: 1280px;
  margin: auto;
  padding: 10px 18px;
  display: grid;
  grid-template-columns: minmax(260px, 390px) 1fr auto;
  gap: 18px;
  align-items: center;
}
.brand-logo {
  display: flex;
  align-items: center;
  min-width: 0;
}
.brand-logo img {
  width: min(380px, 100%);
  height: 76px;
  object-fit: contain;
  object-position: left center;
}
.search-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
  background: #eef4fb;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px;
}
.search-box input {
  border: 0;
  outline: 0;
  background: transparent;
  padding: 10px 13px;
  min-width: 0;
}
.search-box button,
.primary-btn,
.admin-btn {
  border: 0;
  background: var(--brand);
  color: #fff;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 800;
}
.search-box button:hover,
.primary-btn:hover,
.admin-btn:hover { background: var(--brand-dark); }
.ghost-btn,
.outline-btn {
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.user-actions { display: flex; gap: 8px; align-items: center; white-space: nowrap; }

.nav-tabs {
  max-width: 1280px;
  margin: auto;
  padding: 0 18px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
}
.nav-tabs > a,
.nav-drop > button {
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 9px 13px;
  border-radius: 999px;
  white-space: nowrap;
  font-weight: 800;
}
.nav-tabs a:hover,
.nav-tabs a.active,
.nav-drop > button:hover,
.nav-drop:focus-within > button {
  background: #eaf3ff;
  color: var(--brand-dark);
}
.nav-drop { position: relative; flex: 0 0 auto; }
.drop-menu {
  display: none;
  position: fixed;
  min-width: 220px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 16px;
  padding: 8px;
  margin-top: 4px;
}
.nav-drop:hover .drop-menu,
.nav-drop:focus-within .drop-menu { display: grid; }
.drop-menu a { padding: 10px 12px; border-radius: 12px; color: var(--text); }
.drop-menu a:hover { background: var(--surface-soft); color: var(--brand-dark); }

.breaking-strip { background: #0f172a; color: #fff; }
.breaking-inner {
  max-width: 1280px;
  margin: auto;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  overflow: hidden;
}
.breaking-inner b {
  background: var(--brand-2);
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .04em;
}
.breaking-inner span { white-space: nowrap; color: #e2e8f0; }

.breaking-card-badge,
.hero-breaking-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #facc15;
  border: 1px solid rgba(250, 204, 21, .75);
  border-radius: 999px;
  font-weight: 950;
  letter-spacing: .04em;
}
.breaking-card-badge { padding: 3px 7px; font-size: 10px; }
.hero-breaking-badge {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 112px;
  padding: 5px 10px;
  font-size: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,.28);
}
.latest-updates-shell { margin: 0 0 18px; }
.latest-updates-rail {
  background: #020617;
  color: #fff;
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(15, 23, 42, .14);
  overflow: hidden;
  border: 1px solid rgba(250, 204, 21, .24);
}
.latest-updates-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px 0;
}
.latest-updates-title span {
  background: #facc15;
  color: #111827;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
}
.latest-updates-title h2 { margin: 0; font-size: 18px; color: #fef3c7; }
.latest-updates-marquee { overflow: hidden; padding: 12px 0 14px; }
.latest-updates-track {
  display: flex;
  gap: 12px;
  width: max-content;
  animation: latestUpdatesScroll 58s linear infinite;
  padding-left: 14px;
}
.latest-updates-rail:hover .latest-updates-track { animation-play-state: paused; }
.latest-update-card {
  width: 245px;
  min-height: 92px;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 8px;
  color: #fff;
}
.latest-update-card img {
  width: 88px;
  height: 76px;
  object-fit: cover;
  border-radius: 10px;
  background: #111827;
}
.latest-update-copy { min-width: 0; display: grid; gap: 4px; }
.latest-update-copy b { color: #facc15; font-size: 11px; text-transform: uppercase; }
.latest-update-copy strong {
  color: #fff;
  font-size: 13px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@keyframes latestUpdatesScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }


.page-wrap {
  max-width: 1280px;
  margin: auto;
  padding: 20px 18px 50px;
}
.ad-wide {
  min-height: 92px;
  border: 1px dashed #94a3b8;
  background: linear-gradient(135deg, #ffffff, #eff6ff);
  border-radius: var(--radius);
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--muted);
  padding: 14px;
  margin-bottom: 18px;
}
.ad-wide strong { display: block; color: var(--text); margin-bottom: 4px; }
.grid-ad-break { grid-column: 1 / -1; }
.article-inline-ad,
.article-feed-ad { margin: 28px 0; }

.portal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 22px;
  align-items: start;
}
.main-column { min-width: 0; }
.right-rail {
  position: sticky;
  top: 142px;
  display: grid;
  gap: 18px;
}

.page-title {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 24px;
  margin-bottom: 18px;
}
.page-title .eyebrow,
.section-head .eyebrow {
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.page-title h1,
.section-head h2 { margin: 6px 0 8px; letter-spacing: -.04em; }
.page-title p { margin: 0; color: var(--muted); line-height: 1.65; }

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 18px;
  margin-bottom: 22px;
}
.lead-story,
.story-card,
.rail-card,
.subscribe-card,
.article-shell,
.continue-article,
.admin-panel,
.country-section {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.lead-story img { height: 350px; }
.lead-copy { padding: 22px; }
.pill {
  display: inline-flex;
  background: #eaf3ff;
  color: var(--brand-dark);
  font-weight: 900;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  margin-bottom: 10px;
}
.lead-copy h1 { font-size: clamp(26px, 4vw, 44px); line-height: 1.05; margin: 0 0 12px; letter-spacing: -.05em; }
.lead-copy p { color: var(--muted); line-height: 1.7; margin: 0 0 16px; }
.primary-link { color: var(--brand); font-weight: 900; }
.hero-side { display: grid; gap: 14px; }
.hero-side .story-card { display: grid; grid-template-columns: 135px 1fr; }
.hero-side .story-card img { height: 100%; min-height: 142px; }
.hero-side .story-body { padding: 14px; }
.hero-side .story-body h3 { font-size: 16px; }

.section-head {
  margin: 28px 0 14px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}
.section-head a { color: var(--brand); font-weight: 900; }
.section-head.compact { padding: 18px 18px 0; margin: 0 0 12px; }

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.story-card img { height: 170px; }
.story-body { padding: 16px; }
.story-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  margin-bottom: 8px;
}
.story-meta span:first-child { color: var(--brand); }
.story-card h3 { margin: 0 0 8px; line-height: 1.25; letter-spacing: -.02em; }
.story-card p { color: var(--muted); line-height: 1.55; margin: 0 0 12px; }
.read-link { color: var(--brand); font-weight: 900; font-size: 14px; }

.rail-ad {
  border: 1px dashed #94a3b8;
  border-radius: var(--radius);
  background: linear-gradient(135deg, #fff, #f8fafc);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 18px;
  color: var(--muted);
}
.rail-ad strong { color: var(--text); }
.rail-ad span,
.rail-ad small { display: block; margin-top: 5px; }
.tall-ad { min-height: 420px; }
.square-ad { min-height: 250px; }
.rail-card,
.subscribe-card { padding: 18px; }
.rail-title-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.rail-title-row h3,
.subscribe-card h3 { margin: 0 0 12px; }
.rail-title-row span { color: var(--muted); font-size: 12px; font-weight: 800; }
.trend-item {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.trend-item b { color: var(--brand-2); }
.trend-item span { font-weight: 800; line-height: 1.35; }
.subscribe-card p { color: var(--muted); line-height: 1.55; }

.country-section { padding-bottom: 18px; margin-top: 18px; }
.mini-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0 18px 18px;
}
.mini-grid .story-card img { height: 120px; }
.mini-grid .story-card h3 { font-size: 15px; }
.mini-grid .story-card p,
.mini-grid .read-link { display: none; }
.empty-box {
  grid-column: 1 / -1;
  background: #fff;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  padding: 28px;
  color: var(--muted);
}

/* Article page */
.article-page-layout { grid-template-columns: minmax(0, 820px) 320px; justify-content: center; }
.article-shell { padding: 0; }
.msn-article { overflow: visible; }
.article-source-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 24px 28px 0;
  color: var(--muted);
  font-weight: 800;
  font-size: 13px;
}
.source-chip {
  color: var(--brand);
  background: #eaf3ff;
  padding: 4px 9px;
  border-radius: 999px;
}
.article-shell h1 {
  padding: 0 28px;
  margin: 14px 0 10px;
  font-size: clamp(34px, 5vw, 58px);
  line-height: .98;
  letter-spacing: -.055em;
}
.article-subtitle {
  padding: 0 28px;
  color: #475569;
  font-size: 20px;
  line-height: 1.55;
  margin: 0 0 14px;
}
.article-byline { padding: 0 28px 14px; color: var(--muted); }
.share-strip {
  margin: 0 28px 20px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  background: #f8fafc;
}
.share-strip a,
.share-strip button {
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--brand-dark);
  font-weight: 900;
  padding: 9px 12px;
  border-radius: 999px;
}
.article-media { margin: 0 0 18px; }
.article-media img { height: auto; max-height: 520px; object-fit: cover; }
.article-media figcaption { padding: 8px 28px 0; color: var(--muted); font-size: 13px; }
.article-body { padding: 0 28px 16px; }
.article-body p {
  font-size: 19px;
  line-height: 1.85;
  margin: 0 0 22px;
}
.article-seo-box {
  margin: 10px 28px 24px;
  padding: 18px;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 18px;
}
.article-seo-box h3 { margin: 0 0 10px; }
.article-seo-box p { margin: 8px 0; color: var(--muted); line-height: 1.55; word-break: break-word; }
.article-top-ad,
.article-bottom-ad { margin: 0 28px 24px; }
.article-bottom-ad { margin-bottom: 0; }
.article-feed { display: grid; gap: 18px; margin-top: 22px; }
.continue-article { padding-bottom: 20px; }
.continue-label {
  margin: 20px 24px 0;
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fee2e2;
  color: #991b1b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.continue-article h2 {
  padding: 0 24px;
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.continue-article img { max-height: 360px; }
.mini-body { padding: 18px 24px 0; }
.mini-body p { font-size: 17px; line-height: 1.75; }
.continue-article .primary-link { display: inline-flex; margin-left: 24px; }
.feed-sentinel {
  min-height: 74px;
  display: grid;
  place-items: center;
  color: var(--muted);
}

/* Admin */
.admin-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .75fr); gap: 22px; align-items: start; }
.admin-panel { padding: 22px; }
.admin-panel h2 { margin-top: 0; }
.form-grid { display: grid; gap: 14px; }
.form-row { display: grid; gap: 7px; }
.form-row label { font-size: 13px; font-weight: 900; color: #334155; }
.form-row input,
.form-row textarea,
.form-row select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 13px;
  background: #fff;
  outline-color: var(--brand);
}
textarea { min-height: 170px; resize: vertical; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
 .check-row { display: flex; flex-wrap: wrap; gap: 12px; font-weight: 800; color: #334155; }
.news-visibility-row {
  background: #050505;
  border: 1px solid #111827;
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}
.news-visibility-row label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #000;
  color: #facc15;
  border: 1px solid rgba(250, 204, 21, .45);
  border-radius: 999px;
  padding: 9px 13px;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
}
.news-visibility-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #facc15;
}
.admin-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.admin-note { color: var(--muted); line-height: 1.6; }
.seo-tools {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  background: #f8fafc;
  display: grid;
  gap: 14px;
}
.seo-tools h3 { margin: 0; }
#seoStatus { color: var(--success); font-weight: 800; font-size: 13px; }
.news-table-wrap { overflow-x: auto; }
.news-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.news-table th,
.news-table td { text-align: left; border-bottom: 1px solid var(--line); padding: 12px 10px; vertical-align: top; }
.news-table th { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.news-table small { display: block; color: var(--muted); margin-top: 4px; line-height: 1.35; }
.status { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-weight: 900; font-size: 12px; }
.status.ok { color: #166534; background: #dcfce7; }
.status.draft { color: #92400e; background: #fef3c7; }
.table-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.table-actions a,
.table-actions button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 7px 9px;
  font-weight: 800;
  color: var(--brand-dark);
}

.site-footer { background: #0f172a; color: #cbd5e1; margin-top: 40px; }
.footer-inner {
  max-width: 1280px;
  margin: auto;
  padding: 30px 18px;
  display: flex;
  justify-content: space-between;
  gap: 22px;
}
.footer-inner strong { color: #fff; }
.footer-inner p { max-width: 600px; line-height: 1.6; }
.footer-links { display: flex; flex-wrap: wrap; gap: 12px; align-items: start; }
.footer-links a { color: #fff; font-weight: 800; }

@media (max-width: 1100px) {
  .utility-bar { grid-template-columns: 260px 1fr; }
  .user-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .portal-layout,
  .article-page-layout { grid-template-columns: 1fr; }
  .right-rail { position: static; grid-template-columns: 1fr 1fr; }
  .tall-ad { min-height: 250px; }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .utility-bar { grid-template-columns: 1fr; }
  .brand-logo img { width: 100%; height: auto; max-height: 110px; object-position: center; }
  .search-box { grid-template-columns: 1fr; border-radius: 18px; }
  .search-box button { border-radius: 14px; }
  .user-actions { justify-content: stretch; }
  .user-actions a { flex: 1; justify-content: center; }
  .breaking-inner span { white-space: normal; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-side .story-card { grid-template-columns: 1fr; }
  .hero-side .story-card img { height: 170px; }
  .news-grid,
  .mini-grid,
  .right-rail { grid-template-columns: 1fr; }
  .lead-story img { height: 250px; }
  .two-col { grid-template-columns: 1fr; }
  .footer-inner { flex-direction: column; }
  .article-shell h1 { padding: 0 18px; }
  .article-source-row,
  .article-subtitle,
  .article-byline,
  .article-body,
  .article-media figcaption { padding-left: 18px; padding-right: 18px; }
  .share-strip,
  .article-top-ad,
  .article-bottom-ad,
  .article-seo-box { margin-left: 18px; margin-right: 18px; }
  .article-body p { font-size: 17px; }
}


/* V4 additions: managed ads, ad admin, news image upload and World Cup theme */
.user-actions { flex-wrap: wrap; }
.ad-wide, .rail-ad, .ad-preview-box {
  overflow: hidden;
  position: relative;
}
.ad-wide {
  min-height: 92px;
  background: linear-gradient(135deg, #ffffff, #eef4fb);
  border: 1px dashed #aac0db;
}
.ad-wide.page-top-ad { min-height: 110px; }
.ad-wide.after-hero-ad { margin: 18px 0; min-height: 100px; }
.grid-ad-break { grid-column: 1 / -1; }
.ad-placeholder {
  min-height: inherit;
  display: grid;
  place-items: center;
  text-align: center;
  color: #64748b;
  gap: 4px;
  padding: 10px;
}
.ad-placeholder strong { color: #0b57a2; display: block; }
.managed-ad-slot { border: 0 !important; background: #fff !important; box-shadow: 0 12px 28px rgba(15, 23, 42, .08); }
.managed-ad-content, .managed-ad-link { display: block; width: 100%; height: 100%; min-height: inherit; }
.managed-ad-content img, .managed-ad-content video { width: 100%; height: 100%; min-height: inherit; display: block; }
.managed-ad-content.fit-cover img, .managed-ad-content.fit-cover video { object-fit: cover; }
.managed-ad-content.fit-contain img, .managed-ad-content.fit-contain video { object-fit: contain; background: #fff; }
.managed-ad-content.fit-fill img, .managed-ad-content.fit-fill video { object-fit: fill; }
.managed-ad-frame { width: 100%; height: 100%; min-height: inherit; border: 0; display: block; background: #fff; }
.rail-ad.managed-ad-slot { padding: 0; }
.rail-ad .managed-ad-content, .rail-ad .managed-ad-link { min-height: 100%; }
.tall-ad { min-height: 600px; }
.square-ad { min-height: 250px; }
.article-inline-ad, .article-top-ad, .article-bottom-ad, .article-feed-ad { margin: 24px 0; }
.article-feed-ad { min-height: 100px; }
.upload-preview {
  min-height: 170px;
  border: 1px dashed var(--line);
  border-radius: 16px;
  background: var(--surface-soft);
  display: grid;
  place-items: center;
  color: var(--muted);
  overflow: hidden;
}
.upload-preview img { width: 100%; height: 100%; max-height: 220px; object-fit: cover; }
.page-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-soft);
}
.page-checkboxes label {
  padding: 7px 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 13px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.ad-preview-box {
  width: 100%;
  min-height: 170px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: #fff;
}
#adHtml { min-height: 140px; font-family: Consolas, Monaco, monospace; }
.worldcup-title {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
  background: linear-gradient(180deg, rgba(2, 6, 23, .20), rgba(2, 6, 23, .78)), url('worldcup/worldcup-main.webp') center/cover no-repeat;
  border: 0;
}
.worldcup-title .eyebrow { color: #facc15; }
.worldcup-title p { color: #e2e8f0; max-width: 780px; }
.worldcup-title h1 { font-size: clamp(38px, 7vw, 76px); text-shadow: 0 8px 24px rgba(0,0,0,.35); }
.worldcup-article .article-media { border: 4px solid #d9f99d; }
.article-page-wrap .page-top-ad { margin-bottom: 20px; }
.msn-article {
  background: #fff;
  border-radius: 24px;
  padding: clamp(20px, 4vw, 42px);
  box-shadow: 0 18px 48px rgba(15,23,42,.10);
}
.msn-article h1 { font-size: clamp(32px, 5vw, 62px); line-height: 1.02; letter-spacing: -.05em; margin: 18px 0 10px; }
.msn-article .article-subtitle { font-size: 19px; color: var(--muted); line-height: 1.65; }
.msn-article .article-media img { max-height: 580px; object-fit: cover; }
.infinite-feed { margin-top: 28px; }
.feed-sentinel { text-align: center; color: var(--muted); padding: 22px; }
.news-table td small { display: block; color: var(--muted); margin-top: 4px; }
@media (max-width: 760px) {
  .ad-wide.page-top-ad, .ad-wide.after-hero-ad { min-height: 72px; }
  .tall-ad { min-height: 420px; }
  .square-ad { min-height: 220px; }
  .worldcup-title { min-height: 240px; }
}

/* V5 additions: repeat ads, controlled footer, social sharing and subscribers */
.row-break-ad {
  min-height: 118px;
  margin: 4px 0 8px;
}
.right-rail .rail-empty {
  color: var(--muted);
  padding: 0 16px 16px;
  line-height: 1.55;
}
.share-label {
  font-weight: 900;
  color: #334155;
  margin-right: 2px;
}
.share-icon {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  text-decoration: none;
}
.share-icon.facebook { color: #1454d8; }
.share-icon.whatsapp { color: #128c4a; }
.share-icon.x { color: #111827; }
.share-icon.telegram { color: #1684c7; }
.share-icon.copy { color: #0b57a2; cursor: pointer; }
.article-end-panel {
  margin: 10px 28px 24px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(135deg, #f8fafc, #eef6ff);
}
.article-end-panel h3 { margin: 0 0 6px; }
.article-end-panel p { margin: 0 0 12px; color: var(--muted); line-height: 1.55; }
.article-share-end { margin: 0; background: #fff; }
.site-settings-panel { margin-top: 22px; }
.site-footer {
  background: #071327;
  color: #cbd5e1;
  margin-top: 44px;
}
.footer-main {
  max-width: 1280px;
  margin: auto;
  padding: 34px 18px 26px;
  display: grid;
  grid-template-columns: minmax(260px, 1.25fr) minmax(180px, .6fr) minmax(280px, .9fr);
  gap: 28px;
  align-items: start;
}
.footer-logo img {
  width: min(420px, 100%);
  max-height: 96px;
  object-fit: contain;
  object-position: left center;
  background: #fff;
  border-radius: 16px;
  padding: 8px;
}
.footer-brand-block p {
  line-height: 1.7;
  color: #dbeafe;
  margin: 14px 0;
  max-width: 620px;
}
.footer-menu,
.footer-subscribe { display: grid; gap: 10px; }
.footer-menu h3,
.footer-subscribe h3 { color: #fff; margin: 0 0 4px; }
.footer-menu a { color: #e0f2fe; font-weight: 800; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.social-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.10);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  font-weight: 900;
  text-decoration: none;
}
.social-icon span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.social-icon.facebook { background: #1454d8; }
.social-icon.instagram { background: linear-gradient(135deg,#7c3aed,#db2777,#f59e0b); }
.social-icon.youtube { background: #dc2626; }
.social-icon.whatsapp { background: #16a34a; }
.social-icon.x { background: #111827; }
.social-icon.telegram { background: #0284c7; }
.muted-small { color: #94a3b8; font-size: 13px; }
.subscribe-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-bottom: 10px;
}
.subscribe-form input {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 12px;
  padding: 11px 12px;
}
.subscribe-form input::placeholder { color: #bac8d8; }
.subscribe-form button {
  border: 0;
  border-radius: 12px;
  background: #e11d48;
  color: #fff;
  font-weight: 900;
  padding: 11px 14px;
  cursor: pointer;
}
.subscribe-form[data-subscribe-type="whatsapp"] { grid-template-columns: 1fr 92px 1fr auto; }
.subscribe-status { color: #a5b4fc; font-size: 13px; line-height: 1.5; margin: 4px 0 0; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.10);
  max-width: 1280px;
  margin: auto;
  padding: 14px 18px 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  color: #94a3b8;
  font-size: 13px;
}
#footerMenuText { min-height: 140px; font-family: Consolas, Monaco, monospace; }
#subscriberList td { white-space: nowrap; }
@media (max-width: 980px) {
  .footer-main { grid-template-columns: 1fr; }
  .subscribe-form,
  .subscribe-form[data-subscribe-type="whatsapp"] { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .article-end-panel { margin-left: 18px; margin-right: 18px; }
  .share-icon span { display: none; }
  .footer-logo img { max-height: 86px; }
}

/* V6 World Cup 2026 special page and Firebase setup */
.worldcup-page {
  --wc-bg: #06180f;
  --wc-panel: rgba(8, 38, 23, .86);
  --wc-panel-2: rgba(12, 54, 31, .92);
  --wc-line: rgba(251, 191, 36, .38);
  --wc-gold: #f7c65c;
  --wc-green: #1c7c42;
  background:
    radial-gradient(circle at 20% 10%, rgba(250, 204, 21, .16), transparent 24%),
    radial-gradient(circle at 70% 12%, rgba(16, 185, 129, .18), transparent 28%),
    linear-gradient(180deg, rgba(2, 10, 7, .18), rgba(2, 10, 7, .95)),
    url('worldcup/worldcup-main.webp') center top/cover fixed no-repeat,
    var(--wc-bg);
  color: #f8fafc;
}
.worldcup-page .worldcup-top-shell,
.article-worldcup-theme .top-shell {
  background: rgba(1, 22, 13, .88);
  border-bottom-color: rgba(247, 198, 92, .22);
  color: #fff;
}
.worldcup-page .search-box,
.article-worldcup-theme .search-box {
  background: rgba(255,255,255,.08);
  border-color: rgba(247, 198, 92, .26);
}
.worldcup-page .search-box input,
.article-worldcup-theme .search-box input { color: #fff; }
.worldcup-page .search-box input::placeholder,
.article-worldcup-theme .search-box input::placeholder { color: #b9c9be; }
.worldcup-page .ghost-btn,
.article-worldcup-theme .ghost-btn {
  background: rgba(255,255,255,.08);
  border-color: rgba(247,198,92,.25);
  color: #fff;
}
.worldcup-page .primary-btn,
.article-worldcup-theme .primary-btn,
.worldcup-page .search-box button { background: #d69b25; color: #102013; }
.worldcup-page .nav-tabs > a,
.worldcup-page .nav-drop > button,
.article-worldcup-theme .nav-tabs > a,
.article-worldcup-theme .nav-drop > button { color: #d8e7dd; }
.worldcup-page .nav-tabs a.active,
.worldcup-page .nav-tabs a:hover,
.worldcup-page .nav-drop > button:hover,
.article-worldcup-theme .nav-tabs a.active,
.article-worldcup-theme .nav-tabs a:hover {
  background: rgba(247,198,92,.14);
  color: var(--wc-gold, #f7c65c);
}
.worldcup-breaking { background: rgba(1, 22, 13, .96); border-bottom: 1px solid rgba(247,198,92,.20); }
.worldcup-breaking b { background: #b91c1c; }
.worldcup-wrap {
  width: min(1380px, calc(100% - 32px));
  margin: 0 auto;
  padding: 24px 0 56px;
}
.wc-hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  min-height: 540px;
  padding: clamp(18px, 3vw, 34px);
  border: 1px solid rgba(247,198,92,.22);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(3, 20, 13, .86), rgba(4, 30, 17, .68)),
    url('worldcup/worldcup-main.webp') center/cover no-repeat;
  box-shadow: 0 28px 80px rgba(0,0,0,.38);
  position: relative;
  overflow: hidden;
}
.wc-hero-shell::after {
  content: '';
  position: absolute;
  inset: auto -10% -30px -10%;
  height: 160px;
  background: radial-gradient(ellipse at center, rgba(64, 120, 34, .72), transparent 70%);
  pointer-events: none;
}
.wc-hero-copy,
.wc-live-panel { position: relative; z-index: 1; }
.wc-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(247,198,92,.16);
  color: #ffd36f;
  border: 1px solid rgba(247,198,92,.35);
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 900;
  margin-bottom: 14px;
}
.wc-hero-copy h1 {
  font-size: clamp(44px, 8vw, 96px);
  line-height: .92;
  margin: 8px 0 12px;
  letter-spacing: -.06em;
  text-shadow: 0 18px 42px rgba(0,0,0,.46);
}
.wc-hero-copy > p {
  max-width: 760px;
  color: #e5f1e8;
  font-size: clamp(16px, 2vw, 22px);
  line-height: 1.65;
  margin: 0 0 18px;
}
.wc-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 20px;
}
.wc-chip-row a {
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 900;
}
.wc-chip-row a:first-child,
.wc-chip-row a:hover { background: #e9b747; color: #102013; border-color: transparent; }
.wc-lead-card {
  max-width: 840px;
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1fr);
  background: linear-gradient(135deg, rgba(5, 28, 17, .92), rgba(9, 45, 26, .82));
  border: 1px solid rgba(247,198,92,.34);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 20px 46px rgba(0,0,0,.28);
}
.wc-lead-image img { height: 260px; object-fit: cover; }
.wc-lead-copy { padding: 22px; }
.wc-lead-copy span,
.wc-small-story span { color: #ffd36f; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.wc-lead-copy h2 { font-size: clamp(24px, 3vw, 36px); line-height: 1.08; margin: 8px 0 10px; letter-spacing: -.04em; }
.wc-lead-copy p { color: #d8e7dd; line-height: 1.6; margin: 0 0 12px; }
.wc-more { color: #ffd36f; font-weight: 900; }
.wc-live-panel { display: grid; gap: 16px; align-content: start; }
.wc-panel-box {
  background: linear-gradient(180deg, rgba(6, 31, 19, .90), rgba(8, 44, 26, .82));
  border: 1px solid rgba(247,198,92,.34);
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}
.wc-panel-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.wc-panel-head h3 { margin: 0; font-size: 18px; }
.wc-panel-head span { color: #ffd36f; font-size: 12px; font-weight: 900; }
.wc-score-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid rgba(255,255,255,.10);
}
.wc-score-row span {
  background: rgba(255,255,255,.10);
  border-radius: 999px;
  padding: 5px 10px;
  color: #fff;
  font-weight: 900;
}
.wc-score-row em { color: #ffd36f; font-style: normal; font-weight: 900; }
.wc-table { width: 100%; border-collapse: collapse; color: #fff; }
.wc-table th,
.wc-table td { border-top: 1px solid rgba(255,255,255,.10); padding: 9px 7px; text-align: left; }
.wc-table th { color: #ffd36f; font-size: 12px; text-transform: uppercase; }
.wc-trophy-box {
  background:
    linear-gradient(135deg, rgba(8,38,23,.82), rgba(8,38,23,.98)),
    url('worldcup/worldcup-article.webp') center/cover no-repeat;
}
.wc-trophy-box strong { display: block; color: #ffd36f; font-size: 22px; }
.wc-trophy-box p { color: #e5f1e8; line-height: 1.55; }
.wc-news-layout {
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 24px;
  align-items: start;
}
.wc-main-feed {
  background: rgba(4, 23, 14, .62);
  border: 1px solid rgba(247,198,92,.18);
  border-radius: 26px;
  padding: 18px;
  box-shadow: 0 18px 55px rgba(0,0,0,.24);
}
.wc-section-head .eyebrow { color: #ffd36f; }
.wc-section-head h2 { color: #fff; }
.wc-top-stories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.wc-small-story {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr);
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.06);
}
.wc-small-story img { height: 112px; border-radius: 14px; }
.wc-small-story h3 { margin: 4px 0 6px; line-height: 1.25; color: #fff; }
.wc-small-story p { margin: 0; color: #bed6c7; line-height: 1.45; font-size: 14px; }
.wc-news-grid .story-card,
.worldcup-page .rail-card,
.worldcup-page .subscribe-card,
.worldcup-page .continue-article {
  background: rgba(5, 30, 18, .88);
  border-color: rgba(247,198,92,.18);
  color: #fff;
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}
.wc-news-grid .story-card p,
.worldcup-page .story-card p,
.worldcup-page .rail-empty,
.worldcup-page .subscribe-card p { color: #bdd6c7; }
.wc-news-grid .story-meta span:first-child,
.worldcup-page .story-meta span:first-child,
.worldcup-page .rail-title-row span,
.worldcup-page .trend-item b { color: #ffd36f; }
.worldcup-page .ad-wide { background: rgba(255,255,255,.08); border-color: rgba(247,198,92,.28); color: #e5f1e8; }
.worldcup-page .ad-placeholder strong { color: #ffd36f; }
.worldcup-page .right-rail { top: 154px; }
.article-worldcup-theme {
  background:
    radial-gradient(circle at 10% 0%, rgba(247,198,92,.18), transparent 22%),
    linear-gradient(180deg, rgba(2, 18, 11, .88), rgba(2, 8, 6, .96)),
    url('worldcup/worldcup-main.webp') center top/cover fixed no-repeat;
}
.article-worldcup-theme .msn-article.worldcup-article {
  background: linear-gradient(180deg, rgba(5,30,18,.96), rgba(8,38,23,.96));
  color: #fff;
  border: 1px solid rgba(247,198,92,.28);
}
.article-worldcup-theme .worldcup-article .article-subtitle,
.article-worldcup-theme .worldcup-article .article-byline,
.article-worldcup-theme .worldcup-article .article-source-row,
.article-worldcup-theme .worldcup-article .article-body p,
.article-worldcup-theme .worldcup-article .article-media figcaption { color: #d8e7dd; }
.article-worldcup-theme .worldcup-article .source-chip,
.article-worldcup-theme .worldcup-article .article-seo-box {
  background: rgba(247,198,92,.12);
  color: #ffd36f;
  border-color: rgba(247,198,92,.24);
}
.firebase-end-panel,
.firebase-setup-card { border: 2px solid rgba(11,87,162,.18); }
.firebase-status-box {
  min-height: 130px;
  padding: 14px;
  background: #0f172a;
  color: #e2e8f0;
  border-radius: 16px;
  white-space: pre-wrap;
  overflow: auto;
  font-family: Consolas, Monaco, monospace;
  line-height: 1.55;
}
.firebase-code-box {
  width: 100%;
  min-height: 210px;
  font-family: Consolas, Monaco, monospace;
}
.rules-box {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  overflow: auto;
  white-space: pre-wrap;
  font-family: Consolas, Monaco, monospace;
  line-height: 1.55;
}
@media (max-width: 1120px) {
  .wc-hero-shell,
  .wc-news-layout { grid-template-columns: 1fr; }
  .wc-live-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-trophy-box { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .worldcup-wrap { width: min(100% - 20px, 1380px); padding-top: 14px; }
  .wc-hero-shell { min-height: auto; padding: 16px; border-radius: 22px; }
  .wc-lead-card,
  .wc-top-stories,
  .wc-live-panel { grid-template-columns: 1fr; }
  .wc-small-story { grid-template-columns: 112px 1fr; }
  .wc-lead-image img { height: 210px; }
  .wc-score-row { grid-template-columns: 1fr auto; }
  .wc-score-row b:nth-of-type(2) { text-align: left; }
}


/* V7 Malayalam + MSN-style hero cards */
.hero-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
  gap: 12px;
  margin-bottom: 22px;
}
.hero-tile {
  position: relative;
  min-height: 230px;
  border-radius: 14px;
  overflow: hidden;
  background: #111827;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
  border: 1px solid rgba(15, 23, 42, .08);
}
.hero-tile-large {
  grid-column: span 2;
  min-height: 360px;
}
.hero-tile:nth-child(2),
.hero-tile:nth-child(3) { min-height: 360px; }
.hero-tile-link,
.hero-tile-link img,
.hero-gradient {
  position: absolute;
  inset: 0;
}
.hero-tile-link { display: block; color: #fff; }
.hero-tile-link img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.hero-tile:hover img { transform: scale(1.035); }
.hero-gradient { background: linear-gradient(180deg, rgba(0,0,0,.10) 20%, rgba(0,0,0,.86) 100%); }
.hero-source,
.hero-category,
.hero-actions,
.hero-tile h1,
.hero-tile h3 { position: absolute; z-index: 2; left: 18px; right: 18px; }
.hero-source { bottom: 86px; font-weight: 800; font-size: 13px; display: flex; align-items: center; gap: 6px; color: #fff; }
.hero-source b { width: 22px; height: 22px; border-radius: 6px; background: #2563eb; display: inline-grid; place-items: center; font-size: 12px; }
.hero-category { top: 14px; right: auto; left: 14px; background: rgba(225, 29, 46, .94); border-radius: 8px; padding: 5px 9px; font-weight: 900; font-size: 12px; }
.hero-tile h1,
.hero-tile h3 { bottom: 42px; margin: 0; line-height: 1.15; text-shadow: 0 3px 12px rgba(0,0,0,.45); }
.hero-tile h1 { font-size: clamp(28px, 3.5vw, 42px); letter-spacing: -.04em; }
.hero-tile h3 { font-size: 20px; letter-spacing: -.02em; }
.hero-actions { bottom: 14px; display: flex; gap: 16px; font-size: 13px; color: rgba(255,255,255,.92); font-weight: 700; }
.hero-empty { min-height: 180px; display: grid; place-items: center; text-align: center; }
.story-card h3,
.trend-item span,
.article-shell h1,
.continue-article h2 { word-break: break-word; }
.read-link::after { content: ' ›'; }

.popup-admin-link { background: #fff7ed; color: #9a3412; border-color: #fed7aa; }

/* Popup ad system */
.np-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(2, 6, 23, .68);
  backdrop-filter: blur(8px);
}
.np-popup-shell {
  position: relative;
  width: min(92vw, var(--popup-width, 760px));
  max-height: 88vh;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(0,0,0,.38);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.32);
}
.np-popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  border: 0;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .82);
  color: #fff;
  font-size: 24px;
  line-height: 1;
}
.np-popup-label {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 3;
  background: rgba(255,255,255,.9);
  color: #334155;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}
.np-popup-content { min-height: 220px; display: grid; place-items: center; background: #f8fafc; }
.np-popup-content img,
.np-popup-content video { width: 100%; max-height: 82vh; object-fit: contain; background: #000; }
.np-popup-content video { display: block; }
.np-popup-content iframe { width: 100%; min-height: 360px; border: 0; display: block; }
.np-popup-link { display: block; color: inherit; }
.popup-preview-box {
  min-height: 320px;
  border: 1px dashed #94a3b8;
  border-radius: 18px;
  overflow: hidden;
  background: #f8fafc;
  display: grid;
  place-items: center;
}
.popup-preview-box .np-popup-shell { position: relative; width: min(100%, 680px); max-height: none; box-shadow: 0 10px 30px rgba(15,23,42,.18); }
.popup-preview-box .np-popup-overlay { position: static; inset: auto; padding: 12px; background: transparent; backdrop-filter: none; }
#popupHtml { min-height: 150px; font-family: Consolas, Monaco, monospace; }

@media (max-width: 1100px) {
  .hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-tile-large { grid-column: span 2; }
  .hero-tile:nth-child(2), .hero-tile:nth-child(3) { min-height: 240px; }
}
@media (max-width: 700px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-tile-large { grid-column: span 1; min-height: 320px; }
  .hero-tile, .hero-tile:nth-child(2), .hero-tile:nth-child(3) { min-height: 250px; }
  .hero-tile h1 { font-size: 28px; }
  .hero-tile h3 { font-size: 20px; }
  .np-popup-shell { width: 96vw; border-radius: 16px; }
}


/* V8 cleanup: public header without admin links, tech page, mobile ads, and staff-login demo */
.top-shell .user-actions .admin-only-action { display: inline-flex; }
.public-shell .admin-only-action { display: none !important; }
.public-shell .user-actions { justify-content: flex-end; }
.mobile-only-ad { display: none; }
.desktop-only-ad { display: block; }
@media (max-width: 760px) {
  .desktop-only-ad { display: none !important; }
  .mobile-only-ad { display: block !important; }
  .ad-wide, .row-break-ad { width: 100%; min-height: 74px; border-radius: 12px; }
  .managed-ad-content img, .managed-ad-content video { object-fit: contain; background: #fff; }
  .row-break-ad .managed-ad-content, .row-break-ad .managed-ad-link { min-height: 74px; }
  .nav-tabs { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
  .nav-tabs::-webkit-scrollbar { display: none; }
  .nav-tabs a, .nav-drop > button { flex: 0 0 auto; }
  .brand-logo img { max-height: 90px; }
}
.auth-card { max-width: 560px; margin: 0 auto; }
.auth-help { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 16px; padding: 14px; color: #1e3a8a; line-height: 1.7; }
.admin-header-note { font-size: 13px; color: var(--muted); }

/* V9 health theme + standardized Malayalam news font sizes */
:root {
  --np-font-body: 17px;
  --np-font-hero-heading: 16px;
  --np-font-card-heading: 16px;
  --np-font-card-text: 15px;
  --np-font-meta: 14px;
  --np-font-article-body: 19px;
}
body {
  font-size: var(--np-font-body);
  line-height: 1.55;
}
.nav-tabs > a,
.nav-drop > button,
.search-box input,
.search-box button,
.primary-btn,
.ghost-btn,
.outline-btn { font-size: 17px; }
.breaking-inner { font-size: 16px; }
.page-title h1 { font-size: clamp(22px, 3vw, 34px); line-height: 1.25; }
.page-title p { font-size: 17px; }
.section-head h2 { font-size: 21px; line-height: 1.25; }
.hero-tile h1,
.hero-tile h3 {
  font-size: var(--np-font-hero-heading) !important;
  line-height: 1.35;
  letter-spacing: 0;
  bottom: 42px;
}
.hero-source {
  bottom: 88px;
  font-size: var(--np-font-meta);
}
.hero-actions {
  font-size: var(--np-font-meta);
}
.hero-category,
.pill,
.story-meta,
.read-link,
.continue-label { font-size: var(--np-font-meta); }
.story-card h3,
.hero-side .story-body h3,
.mini-grid .story-card h3,
.trend-item span,
.wc-small-story h3 {
  font-size: var(--np-font-card-heading) !important;
  line-height: 1.45;
  letter-spacing: 0;
}
.story-card p,
.mini-grid .story-card p,
.wc-small-story p,
.rail-empty,
.subscribe-card p {
  font-size: var(--np-font-card-text);
  line-height: 1.6;
}
.story-body { padding: 13px; }
.story-meta { gap: 6px; margin-bottom: 6px; }
.read-link { font-weight: 800; }
.article-shell h1,
.msn-article h1 {
  font-size: clamp(24px, 3.5vw, 34px) !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
}
.article-subtitle,
.msn-article .article-subtitle { font-size: 17px !important; line-height: 1.7; }
.article-byline,
.article-source-row,
.article-media figcaption { font-size: 15px; }
.article-body p,
.mini-body p {
  font-size: var(--np-font-article-body) !important;
  line-height: 1.9;
}
.continue-article h2 {
  font-size: clamp(19px, 3vw, 26px) !important;
  line-height: 1.3;
  letter-spacing: 0;
}

/* Health page full-background theme */
body[data-page="health"] {
  --health-green: #0f7a45;
  --health-dark: #064e3b;
  --health-soft: #ecfdf5;
  background:
    linear-gradient(180deg, rgba(240, 253, 244, .50), rgba(255, 255, 255, .50) 42%, rgba(236, 253, 245, .50)),
    url('health/health-bg.webp') center top/cover fixed no-repeat;
}
body[data-page="health"] .top-shell.public-shell {
  background: rgba(255, 255, 255, .88);
  border-bottom-color: rgba(15, 122, 69, .20);
}
body[data-page="health"] .breaking-strip {
  background: linear-gradient(90deg, #064e3b, #0f766e, #15803d);
}
body[data-page="health"] .breaking-inner b {
  background: #22c55e;
  color: #052e16;
}
body[data-page="health"] .page-title.health-title {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(135deg, rgba(6, 78, 59, .72), rgba(22, 101, 52, .34)),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.16));
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .38);
  box-shadow: 0 24px 70px rgba(6, 78, 59, .24);
  backdrop-filter: blur(8px);
  overflow: hidden;
  position: relative;
}
body[data-page="health"] .page-title.health-title::after {
  content: '';
  position: absolute;
  inset: auto -8% -70px -8%;
  height: 160px;
  background: radial-gradient(ellipse at center, rgba(187, 247, 208, .55), transparent 72%);
  pointer-events: none;
}
body[data-page="health"] .page-title.health-title > * { position: relative; z-index: 1; }
body[data-page="health"] .page-title.health-title .eyebrow {
  color: #bbf7d0;
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}
body[data-page="health"] .page-title.health-title h1 {
  font-size: clamp(26px, 4vw, 44px);
  color: #fff;
  text-shadow: 0 7px 25px rgba(0,0,0,.24);
}
body[data-page="health"] .page-title.health-title p { color: #ecfdf5; max-width: 760px; }
body[data-page="health"] .story-card,
body[data-page="health"] .rail-card,
body[data-page="health"] .subscribe-card,
body[data-page="health"] .country-section,
body[data-page="health"] .lead-story,
body[data-page="health"] .article-shell {
  background: rgba(255, 255, 255, .88);
  border-color: rgba(21, 128, 61, .18);
  box-shadow: 0 16px 38px rgba(6, 78, 59, .12);
  backdrop-filter: blur(6px);
}
body[data-page="health"] .story-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 48px rgba(6, 78, 59, .18);
}
body[data-page="health"] .story-meta span:first-child,
body[data-page="health"] .section-head .eyebrow,
body[data-page="health"] .read-link,
body[data-page="health"] .primary-link,
body[data-page="health"] .rail-title-row span,
body[data-page="health"] .trend-item b {
  color: var(--health-green);
}
body[data-page="health"] .pill,
body[data-page="health"] .nav-tabs a.active {
  background: #dcfce7;
  color: var(--health-dark);
}
body[data-page="health"] .ad-wide {
  background: rgba(255, 255, 255, .82);
  border-color: rgba(21, 128, 61, .28);
  box-shadow: 0 12px 30px rgba(6, 78, 59, .10);
}
body[data-page="health"] .ad-placeholder strong { color: var(--health-dark); }
body[data-page="health"] .rail-ad {
  background: rgba(255, 255, 255, .86);
  border-color: rgba(21, 128, 61, .28);
}
@media (max-width: 760px) {
  body[data-page="health"] {
    background:
      linear-gradient(180deg, rgba(240, 253, 244, .50), rgba(255,255,255,.50)),
      url('health/health-bg.webp') center top/cover fixed no-repeat;
  }
  body[data-page="health"] .page-title.health-title { min-height: 210px; }
  .hero-tile h1,
  .hero-tile h3 { font-size: 16px !important; }
  .story-card h3,
  .hero-side .story-body h3,
  .mini-grid .story-card h3 { font-size: 16px !important; }
  .story-card p { font-size: 15px; }
}


/* V10: active search, scrolling breaking ticker, flexible popup, World Cup prediction side ad */
.search-box:focus-within {
  box-shadow: 0 0 0 4px rgba(11, 87, 162, .12);
  border-color: rgba(11, 87, 162, .42);
}
.search-result-hero {
  grid-column: 1 / -1;
  min-height: 120px;
  display: grid;
  place-items: center;
  text-align: center;
  gap: 6px;
}
.search-result-hero b { color: var(--brand); font-size: 18px; }
.search-result-hero span { color: var(--muted); }
.breaking-ticker {
  overflow: hidden;
  gap: 14px;
}
.breaking-marquee {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0, #000 36px, #000 calc(100% - 36px), transparent 100%);
}
.breaking-track {
  display: inline-flex;
  align-items: center;
  gap: 34px;
  white-space: nowrap;
  min-width: max-content;
  animation: npTicker 28s linear infinite;
}
.ticker-item {
  color: #fff;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ticker-item::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #facc15;
  display: inline-block;
}
.breaking-strip:hover .breaking-track { animation-play-state: paused; }
@keyframes npTicker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.np-popup-shell {
  width: min(96vw, var(--popup-width, 760px));
  max-height: 94vh;
}
.np-popup-content { max-height: 92vh; overflow: auto; }
.np-popup-content iframe { min-height: min(70vh, 620px); }
.popup-preview-box .np-popup-shell { width: min(100%, var(--popup-width, 760px)); }
.prediction-float {
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9000;
  pointer-events: none;
}
.predict-tab {
  pointer-events: auto;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(46%, -50%) rotate(-90deg);
  transform-origin: center;
  border: 0;
  background: linear-gradient(135deg, #facc15, #f97316);
  color: #1a1303;
  border-radius: 16px 16px 0 0;
  padding: 10px 18px;
  font-weight: 900;
  box-shadow: 0 10px 28px rgba(0,0,0,.24);
}
.predict-panel {
  pointer-events: auto;
  width: min(430px, calc(100vw - 28px));
  max-height: 86vh;
  overflow: auto;
  transform: translateX(calc(100% + 26px));
  transition: transform .28s ease;
  background:
    radial-gradient(circle at 80% 5%, rgba(250, 204, 21, .20), transparent 26%),
    linear-gradient(160deg, rgba(3, 32, 18, .98), rgba(7, 80, 43, .96));
  border: 1px solid rgba(250, 204, 21, .42);
  color: #fff;
  border-radius: 24px;
  padding: 22px;
  box-shadow: 0 25px 70px rgba(0,0,0,.38);
}
.prediction-float.open .predict-panel { transform: translateX(0); }
.prediction-float.open .predict-tab { display: none; }
.predict-close {
  position: absolute;
  right: 14px;
  top: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 22px;
}
.predict-badge {
  display: inline-flex;
  background: rgba(250, 204, 21, .16);
  color: #fde68a;
  border: 1px solid rgba(250, 204, 21, .35);
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  margin-bottom: 10px;
}
.predict-panel h3 { margin: 0 42px 8px 0; font-size: 22px; line-height: 1.25; }
.predict-panel p { margin: 0 0 14px; color: #d9fbe8; line-height: 1.55; }
.predict-form { display: grid; gap: 10px; }
.predict-form label { display: grid; gap: 5px; font-weight: 800; font-size: 12px; color: #dfffea; }
.predict-form input,
.predict-form select {
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
  color: #fff;
  border-radius: 12px;
  padding: 10px 11px;
  outline: 0;
}
.predict-form select option { color: #111827; }
.predict-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.predict-form button[type="submit"] {
  border: 0;
  background: linear-gradient(135deg, #facc15, #f97316);
  color: #111827;
  border-radius: 14px;
  padding: 12px;
  font-weight: 900;
}
.predict-form small { color: #fde68a; line-height: 1.45; }
.breaking-admin-panel,
.prediction-admin-panel { border-left: 5px solid var(--gold); }
@media (max-width: 760px) {
  .search-box { width: 100%; }
  .breaking-track { animation-duration: 22s; }
  .prediction-float {
    right: 10px;
    left: 10px;
    top: auto;
    bottom: 12px;
    transform: none;
  }
  .predict-tab {
    position: fixed;
    right: 12px;
    bottom: 18px;
    top: auto;
    transform: none;
    border-radius: 999px;
  }
  .predict-panel {
    width: 100%;
    max-height: 78vh;
    transform: translateY(calc(100% + 18px));
    border-radius: 22px 22px 0 0;
  }
  .prediction-float.open .predict-panel { transform: translateY(0); }
  .predict-two { grid-template-columns: 1fr; }
}


/* V11 repair: +3px standard Malayalam readability, hero heading kept at 16px, Health background visible at 50%, remove hero source letter badge */
:root {
  --np-font-body: 17px;
  --np-font-hero-heading: 16px;
  --np-font-card-heading: 16px;
  --np-font-card-text: 15px;
  --np-font-meta: 14px;
  --np-font-article-body: 19px;
}
body { font-size: var(--np-font-body); }
.hero-tile h1,
.hero-tile h3 { font-size: var(--np-font-hero-heading) !important; }
.hero-source b { display: none !important; }
.hero-source { gap: 0; }
.story-card h3,
.hero-side .story-body h3,
.mini-grid .story-card h3,
.trend-item span,
.wc-small-story h3 { font-size: var(--np-font-card-heading) !important; }
.story-card p,
.mini-grid .story-card p,
.wc-small-story p,
.rail-empty,
.subscribe-card p { font-size: var(--np-font-card-text) !important; }
.story-meta,
.hero-category,
.hero-source,
.hero-actions,
.read-link,
.continue-label,
.pill { font-size: var(--np-font-meta) !important; }
.nav-tabs > a,
.nav-drop > button,
.search-box input,
.search-box button,
.primary-btn,
.ghost-btn,
.outline-btn,
.footer-menu a,
.footer-about p,
.breaking-inner { font-size: 17px; }
.article-body p,
.mini-body p { font-size: var(--np-font-article-body) !important; }
body[data-page="health"] {
  background:
    linear-gradient(180deg, rgba(240, 253, 244, .50), rgba(255,255,255,.50) 42%, rgba(236,253,245,.50)),
    url('health/health-bg.webp') center top/cover fixed no-repeat;
}
@media (max-width: 760px) {
  body[data-page="health"] {
    background:
      linear-gradient(180deg, rgba(240, 253, 244, .50), rgba(255,255,255,.50)),
      url('health/health-bg.webp') center top/cover fixed no-repeat;
  }
  .hero-tile h1,
  .hero-tile h3 { font-size: var(--np-font-hero-heading) !important; }
  .story-card h3,
  .hero-side .story-body h3,
  .mini-grid .story-card h3 { font-size: var(--np-font-card-heading) !important; }
  .story-card p { font-size: var(--np-font-card-text) !important; }
}


/* V12: Prediction campaign control, required country, and winner celebration banner */
.prediction-winner-banner {
  width: min(1180px, calc(100% - 28px));
  margin: 16px auto 0;
  border-radius: 24px;
  border: 1px solid rgba(250, 204, 21, .38);
  background:
    radial-gradient(circle at 10% 50%, rgba(239, 68, 68, .22), transparent 24%),
    radial-gradient(circle at 90% 12%, rgba(250, 204, 21, .28), transparent 24%),
    linear-gradient(135deg, #03170d, #084e2a 48%, #101827);
  color: #fff;
  box-shadow: 0 18px 48px rgba(0,0,0,.24);
  padding: 18px 22px;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 18px;
  overflow: hidden;
  position: relative;
}
.prediction-winner-banner::before {
  content: '';
  position: absolute;
  inset: -50%;
  background: repeating-conic-gradient(from 0deg, transparent 0 18deg, rgba(250, 204, 21, .13) 18deg 21deg, transparent 21deg 36deg);
  animation: winnerSpark 12s linear infinite;
  pointer-events: none;
}
.prediction-winner-banner > * { position: relative; z-index: 1; }
.winner-fire { font-size: 42px; filter: drop-shadow(0 6px 12px rgba(0,0,0,.26)); }
.winner-copy span { display: inline-flex; color: #fde68a; font-weight: 900; font-size: 15px; margin-bottom: 4px; }
.winner-copy h2 { margin: 0; font-size: 26px; line-height: 1.15; }
.winner-copy p { margin: 4px 0 0; font-size: 16px; line-height: 1.45; color: #fef3c7; }
.winner-copy small { display: block; color: #bbf7d0; font-weight: 800; margin-top: 4px; }
.prediction-winner-banner img { width: 74px; height: 74px; border-radius: 18px; object-fit: cover; border: 2px solid rgba(255,255,255,.35); }
@keyframes winnerSpark { to { transform: rotate(360deg); } }
.predict-winner-mini {
  border: 1px solid rgba(250, 204, 21, .32);
  background: rgba(250, 204, 21, .12);
  border-radius: 16px;
  padding: 10px 12px;
  margin: 0 0 12px;
  display: grid;
  gap: 2px;
}
.predict-winner-mini b { color: #fde68a; font-size: 14px; }
.predict-winner-mini strong { font-size: 20px; }
.predict-winner-mini span { color: #dcfce7; font-size: 14px; }
.winner-admin-box {
  border: 1px solid rgba(15, 23, 42, .12);
  background: #f8fafc;
  border-radius: 18px;
  padding: 16px;
}
.winner-admin-box h3 { margin: 0 0 10px; }
.check-line { display: flex; align-items: center; gap: 8px; font-weight: 900; margin-bottom: 12px; }
.mini-btn {
  border: 0;
  border-radius: 999px;
  padding: 8px 10px;
  font-weight: 900;
  background: #fef3c7;
  color: #78350f;
  cursor: pointer;
}
@media (max-width: 760px) {
  .prediction-winner-banner {
    grid-template-columns: auto 1fr;
    padding: 15px;
    gap: 12px;
  }
  .prediction-winner-banner img { display: none; }
  .winner-fire { font-size: 30px; }
  .winner-copy h2 { font-size: 22px; }
  .winner-copy p { font-size: 15px; }
}


/* V13 World Cup special menu button */
.public-actions { flex-direction: column; align-items: stretch; gap: 7px; }
.worldcup-special-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 14px;
  border-radius: 999px;
  color: #092012;
  font-weight: 950;
  text-decoration: none;
  background: linear-gradient(90deg, #fde047, #22c55e, #38bdf8, #fde047);
  background-size: 260% 100%;
  box-shadow: 0 8px 22px rgba(34, 197, 94, .28);
  border: 1px solid rgba(15, 118, 110, .25);
  animation: wcSpecialBlink 1.2s infinite alternate, wcSpecialMove 4s linear infinite;
}
.worldcup-special-btn:hover { transform: translateY(-1px); color: #03120a; }
@keyframes wcSpecialBlink {
  0% { filter: saturate(1); box-shadow: 0 0 0 rgba(250, 204, 21, .0); }
  100% { filter: saturate(1.5); box-shadow: 0 0 24px rgba(250, 204, 21, .70); }
}
@keyframes wcSpecialMove {
  0% { background-position: 0% 50%; }
  100% { background-position: 260% 50%; }
}
.worldcup-admin-panel textarea { min-height: 120px; }
.worldcup-admin-panel .admin-note b { color: #0f172a; }
@media (max-width: 1100px) {
  .public-actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; flex-wrap: wrap; }
}
@media (max-width: 760px) {
  .public-actions { flex-direction: column; }
  .worldcup-special-btn { width: 100%; }
  .wc-table { font-size: 13px; }
  .wc-table th, .wc-table td { padding: 8px 5px; }
}


/* V14: World Cup WhatsApp status gallery, respectful prediction, hidden community page */
.wc-gallery-section {
  margin: 22px 0;
  padding: clamp(16px, 2.5vw, 26px);
  border-radius: 26px;
  border: 1px solid rgba(247, 198, 92, .26);
  background: rgba(3, 24, 14, .78);
  box-shadow: 0 18px 54px rgba(0,0,0,.24);
}
.wc-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.wc-status-card {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(247,198,92,.22);
  border-radius: 22px;
  overflow: hidden;
  color: #fff;
}
.wc-status-preview, .wc-status-big {
  position: relative;
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: #07180f;
  overflow: hidden;
}
.wc-status-preview { aspect-ratio: 9 / 16; cursor: pointer; }
.wc-status-preview img, .wc-status-big > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.status-watermark {
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: 104px;
  max-width: 34%;
  opacity: .38;
  padding: 5px;
  border-radius: 12px;
  background: rgba(255,255,255,.60);
}
.status-watermark.big { width: 150px; right: 22px; bottom: 22px; opacity: .34; }
.status-watermark img { width: 100%; height: auto; display: block; }
.wc-status-card div:not(.wc-status-actions) { padding: 12px; }
.wc-status-card h3 { margin: 0 0 5px; font-size: 17px; color: #fff7d6; }
.wc-status-card p { margin: 0 0 10px; color: #d7f4df; font-size: 14px; }
.wc-status-actions { display: flex; gap: 8px; padding: 0 !important; }
.wc-status-actions button, .wc-status-modal-copy button {
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 900;
  background: #f7c65c;
  color: #102013;
  cursor: pointer;
}
.wc-status-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0,0,0,.72);
}
.wc-status-modal-box {
  width: min(940px, 96vw);
  max-height: 94vh;
  display: grid;
  grid-template-columns: minmax(260px, 420px) 1fr;
  gap: 18px;
  background: #06180f;
  border: 1px solid rgba(247,198,92,.38);
  border-radius: 26px;
  padding: 18px;
  color: #fff;
  position: relative;
  overflow: auto;
}
.wc-status-close {
  position: absolute;
  right: 14px;
  top: 12px;
  z-index: 3;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 24px;
}
.wc-status-big { aspect-ratio: 9 / 16; border-radius: 20px; border: 1px solid rgba(255,255,255,.16); }
.wc-status-modal-copy { align-self: center; }
.wc-status-modal-copy h3 { font-size: clamp(24px, 3vw, 40px); margin: 0 0 10px; }
.wc-status-modal-copy p { color: #d7f4df; line-height: 1.6; }
.wc-status-modal-copy small { display: block; color: #fde68a; margin-top: 10px; }
.predict-tab::after { content: 'Click'; margin-left: 6px; opacity: .75; font-size: 11px; }
.predict-suppressed-note { display:none; }
.community-title {
  background: linear-gradient(135deg, rgba(11,87,162,.10), rgba(22,163,74,.10));
  border: 1px solid rgba(11,87,162,.14);
  border-radius: 24px;
  padding: clamp(18px, 3vw, 34px);
}
.community-chip-row { display:flex; flex-wrap:wrap; gap:10px; margin-top: 12px; }
.community-chip-row span { background:#fff; border:1px solid #dbeafe; border-radius:999px; padding:8px 12px; font-weight:900; color:#0b57a2; }
@media (max-width: 980px) {
  .wc-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-status-modal-box { grid-template-columns: 1fr; }
  .wc-status-big { max-height: 70vh; }
}
@media (max-width: 540px) {
  .wc-gallery-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .wc-status-card h3 { font-size: 14px; }
  .wc-status-card p { font-size: 12px; }
  .wc-status-actions { flex-direction: column; }
}

/* V15 newsroom rich editor + article image tools */
.rich-newsroom-row { gap: 10px; }
.rich-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px solid #d8e4f2;
  border-radius: 16px;
  background: linear-gradient(180deg, #f8fbff, #eef5ff);
}
.rich-toolbar button,
.rich-toolbar select,
.rich-upload-btn {
  border: 1px solid #cbd9ea;
  border-radius: 999px;
  background: #fff;
  color: #0b1b33;
  font-weight: 900;
  font-size: 14px;
  padding: 8px 12px;
  min-height: 38px;
  cursor: pointer;
}
.rich-toolbar button:hover,
.rich-upload-btn:hover { background: #0b57a2; color: #fff; border-color: #0b57a2; }
.rich-toolbar select { border-radius: 12px; cursor: default; }
.rich-editor {
  min-height: 420px;
  max-height: 72vh;
  overflow: auto;
  padding: 18px;
  border: 1px solid #cbd9ea;
  border-radius: 18px;
  background: #fff;
  color: #111827;
  line-height: 1.85;
  font-size: 17px;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.rich-editor:empty::before { content: attr(data-placeholder); color: #64748b; }
.rich-editor p { margin: 0 0 14px; }
.rich-editor h2 { font-size: 24px; margin: 22px 0 12px; }
.rich-editor h3 { font-size: 20px; margin: 18px 0 10px; }
.rich-editor blockquote {
  margin: 18px 0;
  padding: 12px 16px;
  border-left: 5px solid #0b57a2;
  background: #f1f7ff;
  border-radius: 12px;
  font-weight: 800;
}
.rich-source { display: none; min-height: 220px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; }
.rich-source.source-active { display: block; }
.rich-helper-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; color: #64748b; }
.rich-editor img.selected-image { outline: 4px solid #f43f5e; outline-offset: 3px; }
.article-inserted-image {
  margin: 18px 0;
  border-radius: 18px;
  overflow: hidden;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}
.article-inserted-image img { display: block; width: 100%; max-width: 100%; border-radius: 16px; }
.article-inserted-image figcaption {
  padding: 8px 10px;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
  background: rgba(248,250,252,.92);
}
.article-inserted-image.wrap-left { float: left; width: min(44%, 360px); margin: 6px 18px 12px 0; }
.article-inserted-image.wrap-right { float: right; width: min(44%, 360px); margin: 6px 0 12px 18px; }
.article-inserted-image.wrap-center { width: min(720px, 100%); margin-left: auto; margin-right: auto; }
.article-inserted-image.wrap-small { display: inline-block; width: min(240px, 48%); vertical-align: middle; margin: 8px 12px; }
.article-inserted-image.wrap-full { width: 100%; clear: both; }
.article-inserted-image img.fit-cover { aspect-ratio: 16 / 9; object-fit: cover; }
.article-inserted-image img.fit-contain { max-height: 560px; object-fit: contain; background: #eef2f7; }
.article-inserted-image img.fit-natural { width: auto; height: auto; max-width: 100%; margin: 0 auto; }
.article-body::after { content: ""; display: block; clear: both; }
.article-body h2 { font-size: clamp(22px, 2.2vw, 30px); margin: 28px 0 12px; line-height: 1.35; }
.article-body h3 { font-size: clamp(20px, 2vw, 25px); margin: 24px 0 10px; line-height: 1.35; }
.article-body ul,
.article-body ol { margin: 0 0 18px 24px; line-height: 1.8; }
.article-body blockquote {
  margin: 22px 0;
  padding: 14px 18px;
  border-left: 5px solid #0b57a2;
  background: #f1f7ff;
  border-radius: 14px;
  font-weight: 900;
}
.np-divider { border: 0; border-top: 1px solid rgba(15,23,42,.15); margin: 24px 0; clear: both; }
@media (max-width: 700px) {
  .rich-helper-grid { grid-template-columns: 1fr; }
  .rich-toolbar { gap: 6px; }
  .rich-toolbar button, .rich-toolbar select, .rich-upload-btn { font-size: 12px; padding: 7px 9px; }
  .rich-editor { min-height: 340px; font-size: 16px; padding: 14px; }
  .article-inserted-image.wrap-left,
  .article-inserted-image.wrap-right,
  .article-inserted-image.wrap-small { float: none; width: 100%; margin: 16px 0; }
}
.np-text-intro { display: inline; font-size: 1.12em; font-weight: 900; color: #0b57a2; }
.np-text-small { display: inline; font-size: .88em; color: #64748b; }
.np-text-normal { display: inline; font-size: 1em; }
.np-text-highlight { display: inline; background: #fff3bf; color: #111827; border-radius: 6px; padding: 1px 5px; font-weight: 900; }
.article-body .np-text-intro { font-size: 1.08em; }
.article-body .np-text-small { font-size: .88em; color: #64748b; }
.article-body .np-text-highlight { background: #fff3bf; border-radius: 6px; padding: 1px 5px; }


/* V16: easy page background themes, English top controls, blinking special buttons, portrait popups, fixed bottom ads, seasonal logo GIF */
.search-box input { text-align: center; }
.search-box button,
.primary-btn,
.worldcup-special-btn,
.predict-tab { text-align: center; justify-content: center; }
.brand-logo { gap: 10px; }
.seasonal-logo-gif {
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(11,87,162,.18);
  box-shadow: 0 8px 20px rgba(15,23,42,.10);
  overflow: hidden;
}
.seasonal-logo-gif img { width: 42px; height: 42px; object-fit: contain; }
body.page-theme-custom {
  background:
    linear-gradient(180deg, var(--page-theme-overlay, rgba(255,255,255,.50)), var(--page-theme-overlay, rgba(255,255,255,.50))),
    var(--page-theme-image),
    var(--page-theme-color, #f3f6fb) !important;
  background-size: cover, cover, auto !important;
  background-position: center top, center top, center !important;
  background-attachment: scroll, fixed, scroll !important;
}
body.page-theme-custom .page-title,
body.page-theme-custom .story-card,
body.page-theme-custom .rail-card,
body.page-theme-custom .subscribe-card,
body.page-theme-custom .country-section,
body.page-theme-custom .article-shell {
  backdrop-filter: blur(6px);
}
.theme-admin-box,
.winner-admin-box {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #f8fafc;
  padding: 16px;
  display: grid;
  gap: 14px;
}
.theme-admin-box h3 { margin: 0; }
.worldcup-special-btn {
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, #84cc16, #22c55e, #06b6d4, #facc15);
  color: #06140b !important;
  border: 0 !important;
  box-shadow: 0 0 0 rgba(250, 204, 21, .0);
  animation: npBlinkSpecial 1.05s ease-in-out infinite, npGradientMove 4s linear infinite;
  background-size: 260% 100%;
}
.worldcup-special-btn::after {
  content: '';
  position: absolute;
  inset: -40% auto -40% -35%;
  width: 42%;
  transform: rotate(18deg);
  background: rgba(255,255,255,.50);
  animation: npShine 1.8s ease-in-out infinite;
}
.predict-tab {
  animation: npPredictPulse 1s ease-in-out infinite;
}
@keyframes npBlinkSpecial {
  0%,100% { filter: saturate(1); box-shadow: 0 0 0 rgba(250,204,21,.0); }
  50% { filter: saturate(1.45) brightness(1.08); box-shadow: 0 0 22px rgba(250,204,21,.55); }
}
@keyframes npGradientMove { from { background-position: 0% 50%; } to { background-position: 260% 50%; } }
@keyframes npShine { 0% { left: -45%; } 60%,100% { left: 115%; } }
@keyframes npPredictPulse {
  0%,100% { transform: translate(46%, -50%) rotate(-90deg) scale(1); box-shadow: 0 10px 28px rgba(0,0,0,.24); }
  50% { transform: translate(46%, -50%) rotate(-90deg) scale(1.06); box-shadow: 0 0 28px rgba(249,115,22,.65); }
}
.hero-source { display: none !important; }
.hero-category { bottom: 88px; }
.np-popup-shell {
  width: min(92vw, var(--popup-width, 420px)) !important;
  max-width: 430px;
  border-radius: 24px;
}
.np-popup-content {
  aspect-ratio: 9 / 16;
  min-height: 520px;
  max-height: 86vh;
  overflow: hidden;
  background: #000;
}
.np-popup-content img,
.np-popup-content video {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}
.np-popup-content iframe,
.np-popup-html-frame {
  width: 100%;
  height: 100%;
  min-height: 520px;
  border: 0;
}
.popup-preview-box .np-popup-shell { max-width: 360px; }
.popup-preview-box .np-popup-content { min-height: 520px; }
body[data-page="home"] .right-rail {
  position: sticky;
  top: 142px;
  align-self: start;
}
.np-fixed-bottom-ad {
  position: fixed;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  z-index: 8500;
  width: min(980px, calc(100vw - 24px));
  min-height: 82px;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  padding: 8px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(148,163,184,.55);
  border-radius: 18px;
  box-shadow: 0 18px 60px rgba(15,23,42,.28);
  backdrop-filter: blur(16px);
}
.np-fixed-sponsor {
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #0b57a2, #0f172a);
  padding: 8px;
  overflow: hidden;
}
.np-fixed-sponsor span { font-size: 11px; opacity: .75; text-transform: uppercase; letter-spacing: .08em; }
.np-fixed-sponsor strong { font-size: 15px; line-height: 1.25; }
.np-fixed-creative {
  min-width: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.np-fixed-creative .managed-ad-content,
.np-fixed-creative .managed-ad-link { min-height: 66px; height: 66px; }
.np-fixed-creative img,
.np-fixed-creative video { width: 100%; height: 66px; object-fit: cover; }
.np-fixed-ad-close {
  position: absolute;
  right: -9px;
  top: -12px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
}
body { padding-bottom: 110px; }
@media (max-width: 1100px) {
  body[data-page="home"] .right-rail { position: static; }
}
@media (max-width: 760px) {
  .utility-bar { text-align: center; }
  .user-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .user-actions .primary-btn,
  .user-actions .worldcup-special-btn { width: 100%; min-height: 56px; font-size: 17px; display: flex; align-items: center; }
  .seasonal-logo-gif { width: 44px; height: 44px; position: absolute; right: 18px; top: 12px; }
  .seasonal-logo-gif img { width: 34px; height: 34px; }
  .brand-logo { justify-content: center; position: relative; }
  @keyframes npPredictPulse {
    0%,100% { transform: scale(1); box-shadow: 0 10px 28px rgba(0,0,0,.24); }
    50% { transform: scale(1.08); box-shadow: 0 0 28px rgba(249,115,22,.70); }
  }
  .np-popup-shell { width: min(94vw, 390px) !important; }
  .np-popup-content { min-height: min(620px, 78vh); }
  .np-popup-content iframe,
  .np-popup-html-frame { min-height: min(620px, 78vh); }
  .np-fixed-bottom-ad {
    width: calc(100vw - 14px);
    bottom: 8px;
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 72px;
    padding: 6px;
    border-radius: 14px;
  }
  .np-fixed-sponsor strong { font-size: 12px; }
  .np-fixed-sponsor span { font-size: 9px; }
  .np-fixed-creative .managed-ad-content,
  .np-fixed-creative .managed-ad-link { height: 58px; min-height: 58px; }
  .np-fixed-creative img,
  .np-fixed-creative video { height: 58px; }
  body { padding-bottom: 96px; }
}
/* V16 small logo GIF positioning repair */
.brand-logo { position: relative; padding-right: 62px; }
.brand-logo .seasonal-logo-gif { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.brand-logo:has(.seasonal-logo-gif) img { max-width: calc(100% - 58px); }
@media (max-width: 760px) {
  .brand-logo { padding-right: 50px; }
  .brand-logo .seasonal-logo-gif { right: 8px; top: 12px; transform: none; }
}


/* V17: cleaner public footer subscribe cards and World Cup status gallery scrolling */
.footer-main-v17 {
  grid-template-columns: minmax(260px, .95fr) minmax(150px, .38fr) minmax(520px, 1.25fr);
  gap: 22px;
}
.footer-menu-v17 h3 {
  font-size: 15px;
  letter-spacing: .02em;
  opacity: .9;
}
.footer-menu-v17 a {
  font-size: 15px;
  line-height: 1.35;
}
.footer-subscribe-v17 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: stretch;
}
.footer-subscribe-card {
  border-radius: 18px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  box-shadow: 0 14px 32px rgba(0,0,0,.10);
}
.footer-subscribe-card.newsletter-card {
  background: linear-gradient(135deg, rgba(255,247,237,.13), rgba(255,255,255,.05));
  border-color: rgba(253, 186, 116, .26);
}
.footer-subscribe-card.whatsapp-card {
  background: linear-gradient(135deg, rgba(236,253,245,.13), rgba(255,255,255,.05));
  border-color: rgba(74, 222, 128, .28);
}
.footer-subscribe-card h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 19px;
  line-height: 1.35;
}
.footer-subscribe-card p {
  margin: -4px 0 10px;
  font-size: 13px;
  color: #dbeafe;
  line-height: 1.45;
  font-weight: 700;
}
.footer-card-form {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  margin: 0 !important;
}
.footer-card-form input {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  font-size: 13px;
  border-radius: 12px;
}
.footer-phone-row {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 8px;
}
.footer-agree {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #f8fafc;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}
.footer-agree input {
  width: 14px;
  height: 14px;
  min-height: 14px;
  margin-top: 2px;
  padding: 0;
  flex: 0 0 auto;
}
.footer-card-form button {
  width: 100%;
  min-height: 44px;
  border-radius: 13px;
  font-size: 14px;
}
.whatsapp-card .footer-card-form button { background: #16a34a; }
.subscribe-status:empty { display: none; }
.subscribe-status {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 12px;
  color: #bbf7d0;
}
.wc-gallery-grid {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 54px) / 4);
  grid-template-columns: none !important;
  gap: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  padding: 2px 2px 14px;
  -webkit-overflow-scrolling: touch;
}
.wc-gallery-grid::-webkit-scrollbar { height: 8px; }
.wc-gallery-grid::-webkit-scrollbar-thumb { background: rgba(250, 204, 21, .55); border-radius: 999px; }
.wc-status-card { scroll-snap-align: start; }
.wc-status-modal-copy .admin-btn { width: auto; }
@media (max-width: 1120px) {
  .footer-main-v17 { grid-template-columns: 1fr; }
  .footer-subscribe-v17 { grid-template-columns: 1fr 1fr; }
  .wc-gallery-grid { grid-auto-columns: calc((100% - 18px) / 2); }
}
@media (max-width: 700px) {
  .footer-subscribe-v17 { grid-template-columns: 1fr; }
  .footer-subscribe-card { padding: 14px; }
  .footer-subscribe-card h3 { font-size: 17px; }
  .footer-phone-row { grid-template-columns: 82px 1fr; }
  .wc-gallery-grid { grid-auto-columns: min(76vw, 280px); gap: 14px; }
}

/* V18 fixes: newsroom/admin publishing, popup clean fit, staff users */
.status.scheduled { color:#075985; background:#e0f2fe; }
.status.unpublished { color:#7f1d1d; background:#fee2e2; }
.mini-btn { margin-top: 10px; width: fit-content; }
.image-size-tool { display:inline-flex; align-items:center; gap:8px; border:1px solid #dbe7f6; border-radius:999px; padding:8px 12px; font-weight:900; background:#fff; }
.image-size-tool input { width: 120px; padding: 0; }
.rich-editor figure { cursor: move; }
.rich-editor img { cursor: pointer; }
.rich-editor img.selected-image { outline: 4px solid #0f6ab8 !important; outline-offset: 4px; }
.article-seo-box { display:none !important; }
.staff-users-panel .news-table td { vertical-align: middle; }

/* Popup creative should fill the popup without empty borders */
.np-popup-shell { padding: 0 !important; overflow: hidden; background: transparent !important; }
.np-popup-label { position:absolute; z-index:3; left:10px; top:10px; background:rgba(0,0,0,.55); color:#fff; border-radius:999px; padding:5px 10px; font-size:12px; }
.np-popup-close { z-index:4; }
.np-popup-content { background:#000 !important; min-height:min(78vh,720px); overflow:hidden; display:block !important; }
.np-popup-content img,
.np-popup-content video { width:100% !important; height:100% !important; min-height:min(78vh,720px); object-fit:cover !important; display:block; background:#000; }
.np-popup-content iframe,
.np-popup-html-frame { width:100% !important; min-height:min(78vh,720px) !important; border:0; display:block; background:#fff; }
.np-popup-link { display:block; }
.popup-preview-box .np-popup-content { min-height:520px; }
.popup-preview-box .np-popup-content img,
.popup-preview-box .np-popup-content video { min-height:520px; }
@media (max-width: 640px) {
  .np-popup-shell { width:min(92vw,420px) !important; }
  .np-popup-content,
  .np-popup-content img,
  .np-popup-content video,
  .np-popup-content iframe,
  .np-popup-html-frame { min-height:min(78vh,680px) !important; }
}
.seasonal-fallback { display:grid; place-items:center; width:42px; height:42px; font-size:28px; }


/* V19 repair: remove hero category color bar, keep more image visible, improve admin action lists */
.hero-category { display: none !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; padding: 0 !important; }
.hero-gradient { background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 58%, rgba(0,0,0,.48) 78%, rgba(0,0,0,.86) 100%) !important; }
.hero-tile-link img { object-fit: cover !important; object-position: center center !important; }
.hero-tile h1,
.hero-tile h3 { bottom: 44px !important; }
.hero-actions { bottom: 14px !important; }
.news-table { min-width: 960px; }
.news-table .table-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 220px; }
.news-table .table-actions button,
.news-table .table-actions a { white-space: nowrap; }

/* V20 admin upload helpers and social logo support */
.gallery-upload-box,
.theme-upload-box {
  border: 1px dashed rgba(13, 93, 164, .28);
  background: rgba(239, 246, 255, .72);
  border-radius: 18px;
  padding: 14px;
  margin: 12px 0;
}
.gallery-upload-box h4,
.theme-upload-box h4 {
  margin: 0 0 10px;
  font-size: 16px;
  color: #0b3770;
}
.social-icon.has-logo {
  overflow: hidden;
}
.social-icon.has-logo img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
}
.footer-socials .social-icon.has-logo img {
  width: 22px;
  height: 22px;
}
.predict-badge {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.form-row input[type="file"] {
  padding: 10px;
  font-size: 13px;
  background: #f8fbff;
}


/* V26 live cleanup: no demo ad placeholders, compact mobile header, English public navigation */
.ad-empty { display: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.danger-light { color: #991b1b !important; border-color: #fecaca !important; background: #fff7f7 !important; }
.nav-tabs a, .nav-drop > button { white-space: nowrap; }
@media (max-width: 760px) {
  .top-shell { position: sticky; top: 0; }
  .utility-bar {
    grid-template-columns: 132px minmax(0,1fr) !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    align-items: center;
  }
  .brand-logo { grid-column: 1 / 2; padding-right: 38px !important; justify-content: flex-start !important; }
  .brand-logo img { width: 128px !important; height: 54px !important; max-height: 54px !important; object-position: left center !important; }
  .brand-logo .seasonal-logo-gif { width: 32px !important; height: 32px !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; }
  .brand-logo .seasonal-logo-gif img { width: 24px !important; height: 24px !important; }
  .search-box { grid-column: 2 / 3; grid-template-columns: minmax(0,1fr) auto !important; border-radius: 999px !important; padding: 4px !important; gap: 4px !important; }
  .search-box input { padding: 7px 8px !important; font-size: 13px !important; text-align: left !important; }
  .search-box button { padding: 7px 10px !important; min-width: 64px; border-radius: 999px !important; font-size: 13px !important; }
  .user-actions.public-actions { grid-column: 1 / -1; display: flex !important; gap: 6px !important; justify-content: stretch !important; }
  .user-actions.public-actions .primary-btn,
  .user-actions.public-actions .worldcup-special-btn { min-height: 34px !important; height: 34px !important; padding: 6px 10px !important; font-size: 12px !important; border-radius: 999px !important; flex: 1 1 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .nav-tabs { display: flex; overflow-x: auto; gap: 8px; padding: 6px 10px 8px; -webkit-overflow-scrolling: touch; }
  .nav-tabs a, .nav-drop > button { padding: 8px 12px !important; font-size: 13px !important; }
  .breaking-strip { font-size: 13px; }
  .breaking-inner { padding: 7px 10px; }
  .page-wrap { padding-top: 10px; }
}
@media (max-width: 420px) {
  .utility-bar { grid-template-columns: 118px minmax(0,1fr) !important; }
  .brand-logo img { width: 114px !important; }
  .search-box button { min-width: 56px; padding-left: 8px !important; padding-right: 8px !important; }
  .user-actions.public-actions .primary-btn,
  .user-actions.public-actions .worldcup-special-btn { font-size: 11px !important; }
}

/* V27: Article reading cleanup + related/infinite feed readability */
.article-shell.msn-article {
  max-width: 100%;
}
.article-shell h1,
.msn-article h1 {
  text-align: start !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  word-spacing: normal !important;
  text-wrap: pretty;
  margin-bottom: 12px !important;
}
.article-subtitle,
.msn-article .article-subtitle {
  text-align: start;
  line-height: 1.62 !important;
  margin-bottom: 14px !important;
}
.article-body {
  max-width: 860px;
  color: #0f172a;
}
.article-body p,
.article-body li,
.article-body blockquote,
.mini-body p {
  word-break: normal;
  overflow-wrap: break-word;
  word-spacing: normal;
  letter-spacing: 0;
}
.article-body p {
  text-align: justify;
  text-align-last: start;
  text-justify: inter-word;
  line-height: 1.76 !important;
  margin: 0 0 16px !important;
}
.article-body p:empty,
.article-body div:empty { display: none; }
.article-body br + br { display: none; }
.article-body h2,
.article-body h3 {
  text-align: start;
  letter-spacing: 0;
  word-spacing: normal;
}
.article-media {
  margin-bottom: 16px !important;
}
.article-inserted-image {
  margin-top: 14px;
  margin-bottom: 16px;
}
.article-inserted-image + p,
.article-media + .article-body p:first-child {
  margin-top: 0 !important;
}
.article-end-panel {
  margin-top: 18px;
}
#relatedNews.news-grid {
  align-items: stretch;
}
#relatedNews .story-card h3,
#infiniteArticleFeed .continue-article h2 {
  text-align: start;
  line-height: 1.38 !important;
  letter-spacing: 0 !important;
}
#relatedNews .story-card p,
#infiniteArticleFeed .article-subtitle,
#infiniteArticleFeed .mini-body p {
  line-height: 1.62 !important;
  text-align: start;
}
.continue-article .article-body.mini-body {
  max-width: 820px;
}
.continue-article .article-body.mini-body p {
  text-align: start !important;
  margin-bottom: 12px !important;
}
@media (max-width: 760px) {
  .article-source-row { padding: 18px 18px 0; gap: 7px; font-size: 13px !important; }
  .article-shell h1,
  .msn-article h1 {
    padding: 0 18px !important;
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.32 !important;
  }
  .article-subtitle,
  .msn-article .article-subtitle,
  .article-byline { padding-left: 18px !important; padding-right: 18px !important; }
  .article-body {
    padding: 0 18px 14px !important;
    max-width: 100%;
  }
  .article-body p {
    text-align: start !important;
    text-align-last: start;
    line-height: 1.68 !important;
    margin-bottom: 14px !important;
    font-size: 18px !important;
  }
  .article-body h2 { font-size: 21px; line-height: 1.35; }
  .article-body h3 { font-size: 19px; line-height: 1.35; }
  .share-strip,
  .article-top-ad,
  .article-bottom-ad { margin-left: 18px !important; margin-right: 18px !important; }
  .article-media figcaption { padding-left: 18px !important; padding-right: 18px !important; }
  .continue-article h2 { padding-left: 18px !important; padding-right: 18px !important; }
  .mini-body { padding-left: 18px !important; padding-right: 18px !important; }
}


/* V28 public layout cleanup + mobile header fix */
body[data-page="home"] .page-title,
body[data-page="gulf"] .page-title,
body[data-page="kuwait"] .page-title,
body[data-page="uae"] .page-title,
body[data-page="saudi-arabia"] .page-title,
body[data-page="qatar"] .page-title,
body[data-page="bahrain"] .page-title,
body[data-page="oman"] .page-title,
body[data-page="india"] .page-title,
body[data-page="kerala"] .page-title,
body[data-page="international"] .page-title,
body[data-page="middle-east"] .page-title,
body[data-page="health"] .page-title,
body[data-page="tech"] .page-title,
body[data-page="sports"] .page-title,
body[data-page="business"] .page-title,
body[data-page="community"] .page-title {
  display: none !important;
}

body:not([data-page="admin"]):not([data-page="ad-admin"]):not([data-page="popup-admin"]):not([data-page="firebase-setup"]):not([data-page="admin-login"]) .page-wrap {
  padding-top: 12px !important;
}

.footer-logo-tight {
  display: inline-flex;
  align-items: center;
  max-width: min(360px, 100%);
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible;
}
.footer-logo-tight img,
.footer-logo img {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  width: min(330px, 100%) !important;
  max-height: 96px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.footer-brand-block {
  min-width: 0;
}
.footer-brand-block p {
  margin-top: 10px !important;
}

.public-shell .nav-tabs > a,
.public-shell .nav-drop > button {
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: 0;
}

@media (max-width: 760px) {
  .top-shell.public-shell {
    box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
  }
  .public-shell .utility-bar {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 6px !important;
    padding: 5px 9px !important;
  }
  .public-shell .brand-logo {
    padding-right: 26px !important;
    min-height: 42px !important;
  }
  .public-shell .brand-logo img {
    width: 98px !important;
    height: 42px !important;
    max-height: 42px !important;
  }
  .public-shell .brand-logo .seasonal-logo-gif {
    width: 24px !important;
    height: 24px !important;
    right: 0 !important;
  }
  .public-shell .brand-logo .seasonal-logo-gif img {
    width: 20px !important;
    height: 20px !important;
  }
  .public-shell .search-box {
    min-height: 36px !important;
    padding: 3px !important;
    gap: 3px !important;
  }
  .public-shell .search-box input {
    padding: 6px 8px !important;
    font-size: 12px !important;
    min-height: 28px !important;
  }
  .public-shell .search-box button {
    min-width: 52px !important;
    padding: 6px 9px !important;
    font-size: 12px !important;
    min-height: 28px !important;
  }
  .public-shell .user-actions.public-actions {
    grid-column: 1 / -1;
    gap: 5px !important;
    margin-top: 0 !important;
  }
  .public-shell .user-actions.public-actions .primary-btn,
  .public-shell .user-actions.public-actions .worldcup-special-btn {
    min-height: 29px !important;
    height: 29px !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    box-shadow: 0 4px 10px rgba(15, 23, 42, .08) !important;
  }
  .public-shell .nav-tabs {
    padding: 4px 9px 5px !important;
    gap: 5px !important;
  }
  .public-shell .nav-tabs > a,
  .public-shell .nav-drop > button {
    padding: 6px 9px !important;
    font-size: 12px !important;
    border-radius: 999px !important;
  }
  .breaking-inner {
    padding: 6px 9px !important;
    gap: 8px !important;
  }
  .breaking-inner b {
    font-size: 10px !important;
    padding: 4px 8px !important;
  }
  .breaking-inner span {
    font-size: 12px !important;
  }
  body:not([data-page="admin"]):not([data-page="ad-admin"]):not([data-page="popup-admin"]):not([data-page="firebase-setup"]):not([data-page="admin-login"]) .page-wrap {
    padding: 8px 9px 34px !important;
  }
  .portal-layout {
    gap: 12px !important;
  }
  .hero-grid {
    margin-top: 0 !important;
  }
  .footer-logo-tight img,
  .footer-logo img {
    width: 230px !important;
    max-height: 78px !important;
  }
  .footer-main-v17 {
    padding-top: 24px !important;
  }
}

@media (max-width: 420px) {
  .public-shell .utility-bar {
    grid-template-columns: 94px minmax(0, 1fr) !important;
  }
  .public-shell .brand-logo img {
    width: 88px !important;
    height: 38px !important;
  }
  .public-shell .search-box input {
    font-size: 11px !important;
  }
  .public-shell .search-box button {
    min-width: 48px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
  .public-shell .user-actions.public-actions .primary-btn,
  .public-shell .user-actions.public-actions .worldcup-special-btn {
    font-size: 10.5px !important;
  }
  .footer-logo-tight img,
  .footer-logo img {
    width: 210px !important;
  }
}


/* V29 static trust pages */
.static-page-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 18px 48px;
}

.static-card {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(15, 46, 88, .10);
  border-radius: 26px;
  box-shadow: 0 18px 50px rgba(11, 50, 92, .10);
  padding: clamp(22px, 4vw, 44px);
}

.static-card .eyebrow {
  display: inline-flex;
  margin-bottom: 10px;
}

.static-card h1 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.14;
  margin: 0 0 18px;
  color: #071b36;
}

.static-card h2 {
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.25;
  margin: 30px 0 12px;
  color: #0b3970;
}

.static-card h3 {
  font-size: 18px;
  margin: 18px 0 8px;
  color: #09254c;
}

.static-card p,
.static-card li {
  font-size: 17px;
  line-height: 1.78;
  color: #27364c;
}

.static-card p {
  margin: 0 0 14px;
}

.static-card ul,
.static-card ol {
  padding-left: 22px;
  margin: 12px 0 20px;
}

.static-lead {
  font-size: 19px !important;
  line-height: 1.7 !important;
  color: #14233b !important;
  max-width: 950px;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 26px 0;
}

.info-box {
  border: 1px solid rgba(16, 91, 171, .14);
  background: #f7fbff;
  border-radius: 18px;
  padding: 18px;
}

.info-box h3 {
  margin-top: 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 22px;
  align-items: start;
}

.contact-panel {
  border: 1px solid rgba(16, 91, 171, .14);
  background: #f7fbff;
  border-radius: 20px;
  padding: 20px;
}

.contact-form {
  display: grid;
  gap: 14px;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid #d5e0ee;
  border-radius: 16px;
  padding: 14px 16px;
  font: inherit;
  background: #fff;
  color: #0d223d;
}

.contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.contact-form button {
  border: 0;
  background: #0b5fad;
  color: #fff;
  border-radius: 16px;
  padding: 15px 20px;
  font-weight: 800;
  cursor: pointer;
}

.contact-status {
  color: #0d7a3d;
  font-weight: 800;
  margin: 4px 0 0;
}

.footer-legal-links {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 16px;
  padding-top: 14px;
  display: grid;
  gap: 8px;
}

.footer-legal-links a {
  font-size: 14px;
  color: #b9d6ff;
}

@media (max-width: 760px) {
  .static-page-wrap {
    padding: 18px 12px 34px;
  }

  .static-card {
    border-radius: 18px;
    padding: 20px 16px;
  }

  .static-card p,
  .static-card li {
    font-size: 16px;
    line-height: 1.68;
    text-align: left;
  }

  .info-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }
}


/* V30: article HTML cleanup, brand logo repair, static page editor */
.brand-logo { font-size: 0; color: transparent; }
.brand-logo img, .brand-logo .seasonal-logo-gif { font-size: initial; }
.article-body p, .article-body li, .static-card p, .static-card li {
  word-break: normal;
  overflow-wrap: break-word;
}
.article-body p { margin: 0 0 1.05em; }
.article-body :where(p, li) { line-height: 1.78; }
.article-body.mini-body p {
  line-height: 1.62;
  margin-bottom: .8em;
}
.static-pages-editor-panel textarea#staticPageBody { min-height: 240px; font-family: inherit; }
.static-editable-body h2 { margin-top: 1.25em; }
.static-editable-body ul { padding-left: 22px; }
@media (max-width: 760px) {
  .article-body, .article-body p, .article-body li {
    text-align: start !important;
    text-justify: auto !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
  }
  .article-body :where(p, li) { line-height: 1.68; }
}

/* V31: mobile branding logo size + admin quick-jump navigation */
.admin-jump-nav {
  position: sticky;
  top: 154px;
  z-index: 35;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(16,91,171,.14);
  border-radius: 18px;
  padding: 10px;
  margin: 0 0 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .08);
  backdrop-filter: blur(14px);
}
.admin-jump-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #d5e0ee;
  background: #f7fbff;
  color: #0b4f91;
  font-weight: 800;
  font-size: 13px;
  text-decoration: none;
  white-space: nowrap;
}
.admin-jump-nav a:hover,
.admin-jump-nav a:focus {
  background: #0b5fad;
  color: #fff;
  border-color: #0b5fad;
}
.admin-panel[id] {
  scroll-margin-top: 190px;
}
@media (max-width: 900px) {
  .admin-jump-nav {
    top: 0;
    overflow-x: auto;
    flex-wrap: nowrap;
    border-radius: 14px;
    -webkit-overflow-scrolling: touch;
  }
  .admin-jump-nav a { flex: 0 0 auto; }
  .admin-panel[id] { scroll-margin-top: 95px; }
}
@media (max-width: 760px) {
  .top-shell.public-shell .utility-bar {
    grid-template-columns: 168px minmax(0, 1fr) !important;
    gap: 7px !important;
    padding: 6px 8px !important;
  }
  .top-shell.public-shell .brand-logo {
    min-height: 60px !important;
    padding-right: 0 !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }
  .top-shell.public-shell .brand-logo img {
    width: 162px !important;
    height: 60px !important;
    max-height: 60px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  .top-shell.public-shell .brand-logo .seasonal-logo-gif {
    display: none !important;
  }
  .top-shell.public-shell .search-box {
    min-height: 34px !important;
    padding: 3px !important;
    grid-template-columns: minmax(0,1fr) 38px !important;
  }
  .top-shell.public-shell .search-box input {
    min-height: 28px !important;
    padding: 6px 7px !important;
    font-size: 12px !important;
  }
  .top-shell.public-shell .search-box button {
    min-width: 38px !important;
    width: 38px !important;
    height: 28px !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }
  .top-shell.public-shell .search-box button::after {
    content: "🔍";
    font-size: 14px;
    line-height: 1;
  }
}
@media (max-width: 420px) {
  .top-shell.public-shell .utility-bar {
    grid-template-columns: 154px minmax(0, 1fr) !important;
  }
  .top-shell.public-shell .brand-logo img {
    width: 148px !important;
    height: 56px !important;
    max-height: 56px !important;
  }
  .top-shell.public-shell .search-box {
    grid-template-columns: minmax(0,1fr) 34px !important;
  }
  .top-shell.public-shell .search-box button {
    min-width: 34px !important;
    width: 34px !important;
  }
}


/* V32 reader email prompt */
.reader-email-modal{position:fixed;inset:0;z-index:9999;background:rgba(3,14,32,.55);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(4px)}
.reader-email-card{width:min(420px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 22px 70px rgba(2,6,23,.35);position:relative;color:#07152d}
.reader-email-card h3{margin:0 0 8px;font-size:24px;line-height:1.25}.reader-email-card p{margin:0 0 16px;color:#5b6b82;line-height:1.5}.reader-email-card form{display:grid;gap:10px}.reader-email-card input{border:1px solid #d6e0ee;border-radius:14px;padding:13px 14px;font:inherit}.reader-email-card button{border:0;border-radius:999px;padding:12px 18px;font-weight:800;cursor:pointer}.reader-email-card form button{background:#0b5ea8;color:#fff}.reader-email-close{position:absolute;right:12px;top:10px;background:#eef4fb;color:#0b2343;font-size:20px;line-height:1}.reader-email-later{margin-top:10px;background:#eef4fb;color:#0b2343;width:100%}
@media(max-width:640px){.reader-email-card{border-radius:18px;padding:20px}.reader-email-card h3{font-size:20px}}

/* V36 Daily Share List + Menu Visibility */
.daily-share-output {
  width: 100%;
  min-height: 360px;
  font-family: 'Noto Sans Malayalam', system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.75;
  white-space: pre-wrap;
  background: #f8fafc;
}
#menu-visibility textarea,
#daily-share-list textarea {
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 14px;
  padding: 12px 14px;
}
@media (max-width: 760px) {
  .daily-share-output { min-height: 420px; font-size: 14px; }
}

/* V37 Firestore publish guard */
.firestore-guard-panel{border:1px solid rgba(11,96,176,.18);background:linear-gradient(135deg,#fff,#f5fbff)}
.firestore-guard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 16px}
.guard-card{border:1px solid #dbe7f4;border-radius:16px;background:#fff;padding:14px 16px;box-shadow:0 8px 20px rgba(13,70,130,.06)}
.guard-card strong{display:block;color:#0b4f93;margin-bottom:8px}.guard-card p{margin:0;color:#53657e}.guard-ok-text{color:#157347!important;font-weight:800}.guard-warning-text{color:#b54708!important;font-weight:800}.local-only-row{background:#fff8eb}.status.warning{background:#fff3cd;color:#9a6700;border-color:#ffe08a}.danger-light{border-color:#fecaca!important;color:#991b1b!important;background:#fff7f7!important}
@media(max-width:720px){.firestore-guard-grid{grid-template-columns:1fr}}

/* V42 Homepage editorial order */
.home-feed-stack {
  display: grid;
  gap: 22px;
}
.home-feed-stack .news-grid {
  width: 100%;
}
.home-category-section {
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 14px 34px rgba(15,23,42,.05);
}
.home-section-head {
  padding: 0 !important;
  margin: 0 0 14px !important;
}
.home-section-head h2 {
  margin: 0;
  font-size: clamp(21px, 2.1vw, 28px);
  line-height: 1.2;
}
.read-more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eaf3ff;
  color: var(--brand-dark) !important;
  font-weight: 900;
  white-space: nowrap;
}
.home-section-ad {
  width: 100%;
  margin: 2px 0 0;
}
.home-final-ad {
  margin-bottom: 10px;
}
@media (max-width: 760px) {
  .home-feed-stack { gap: 18px; }
  .home-category-section { padding: 14px; border-radius: 18px; }
  .home-section-head { align-items: center; gap: 10px; }
  .home-section-head h2 { font-size: 21px; }
  .read-more-btn { min-height: 32px; padding: 7px 11px; font-size: 13px; }
}

.np-image-insert-point {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 4px 6px;
  padding: 6px 10px;
  border: 1px dashed #0b57a2;
  border-radius: 999px;
  background: #eef6ff;
  color: #0b57a2;
  font-weight: 900;
  font-size: 13px;
  user-select: none;
}
.np-image-insert-point:empty {
  display: inline-block;
  width: 1px;
  height: 1px;
  overflow: hidden;
  padding: 0;
  margin: 0;
  border: 0;
}


@media (max-width: 760px) {
  .news-visibility-row { gap: 8px; padding: 10px; }
  .news-visibility-row label { width: 100%; justify-content: flex-start; font-size: 14px; border-radius: 12px; }
  .latest-updates-shell { margin-bottom: 14px; }
  .latest-updates-title { padding: 10px 12px 0; }
  .latest-updates-title h2 { font-size: 16px; }
  .latest-updates-track { animation-duration: 42s; gap: 10px; padding-left: 10px; }
  .latest-update-card { width: 205px; grid-template-columns: 74px minmax(0, 1fr); min-height: 82px; }
  .latest-update-card img { width: 74px; height: 66px; }
  .latest-update-copy strong { font-size: 12px; -webkit-line-clamp: 3; }
  .hero-breaking-badge { left: 14px; top: 50px; font-size: 10px; padding: 4px 8px; }
}

/* V45b: Latest Updates mobile visibility fix */
@media (max-width: 760px) {
  #latestUpdatesRail,
  .latest-updates-shell {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    clear: both !important;
    overflow: visible !important;
  }
  .latest-updates-rail {
    display: block !important;
    width: 100% !important;
    min-height: 118px !important;
    border-radius: 14px !important;
    background: #020617 !important;
    border: 1px solid rgba(250, 204, 21, .55) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .16) !important;
  }
  .latest-updates-title {
    padding: 10px 11px 0 !important;
    gap: 8px !important;
  }
  .latest-updates-title span {
    padding: 4px 8px !important;
    font-size: 10px !important;
  }
  .latest-updates-title h2 {
    font-size: 16px !important;
    color: #facc15 !important;
  }
  .latest-updates-marquee {
    display: block !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 10px 0 12px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .latest-updates-marquee::-webkit-scrollbar { display: none !important; }
  .latest-updates-track {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: max-content !important;
    min-width: 100% !important;
    padding: 0 10px !important;
    transform: none !important;
    animation: none !important;
  }
  .latest-update-card {
    flex: 0 0 214px !important;
    width: 214px !important;
    min-height: 78px !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 7px !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .11) !important;
    border: 1px solid rgba(250, 204, 21, .20) !important;
  }
  .latest-update-card img {
    width: 70px !important;
    height: 62px !important;
    border-radius: 10px !important;
  }
  .latest-update-copy b {
    font-size: 10px !important;
    color: #facc15 !important;
  }
  .latest-update-copy strong {
    font-size: 12px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
  }
}


/* V46: mobile Latest Updates must remain visible and keep true infinite movement */
@media (max-width: 760px) {
  body[data-page="home"] #latestUpdatesRail {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 132px !important;
    margin: 8px 0 16px !important;
    clear: both !important;
    position: relative !important;
    z-index: 4 !important;
    overflow: visible !important;
  }
  body[data-page="home"] .latest-updates-rail {
    display: block !important;
    width: 100% !important;
    min-height: 132px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #020617 !important;
    border: 2px solid rgba(250, 204, 21, .75) !important;
    box-shadow: 0 12px 28px rgba(2, 6, 23, .24) !important;
  }
  body[data-page="home"] .latest-updates-title {
    display: flex !important;
    align-items: center !important;
    padding: 10px 11px 0 !important;
  }
  body[data-page="home"] .latest-updates-title span {
    background: #facc15 !important;
    color: #020617 !important;
  }
  body[data-page="home"] .latest-updates-title h2 {
    color: #facc15 !important;
    font-size: 16px !important;
  }
  body[data-page="home"] .latest-updates-marquee {
    display: block !important;
    overflow: hidden !important;
    padding: 10px 0 12px !important;
    width: 100% !important;
  }
  body[data-page="home"] .latest-updates-track {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: max-content !important;
    min-width: max-content !important;
    padding-left: 10px !important;
    transform: translateX(0) !important;
    animation: latestUpdatesScroll 46s linear infinite !important;
    will-change: transform !important;
  }
  body[data-page="home"] .latest-update-card {
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    flex: 0 0 220px !important;
    width: 220px !important;
    min-width: 220px !important;
    min-height: 78px !important;
    gap: 8px !important;
    padding: 7px !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(250, 204, 21, .25) !important;
    color: #fff !important;
  }
  body[data-page="home"] .latest-update-card img {
    display: block !important;
    width: 70px !important;
    height: 62px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }
  body[data-page="home"] .latest-update-copy {
    display: grid !important;
    min-width: 0 !important;
    align-content: center !important;
  }
  body[data-page="home"] .latest-update-copy b {
    color: #facc15 !important;
    font-size: 10px !important;
  }
  body[data-page="home"] .latest-update-copy strong {
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
}

/* V47: site-wide compact news preview blocks + reliable mobile Latest Updates */
.news-grid { align-items: start !important; }
.story-card,
.wc-small-story,
.continue-article { align-self: start !important; height: auto !important; }
.story-body { height: auto !important; }
.np-preview-budget-card .story-body > p,
.np-preview-budget-card h3,
.np-preview-budget-card h2,
.np-preview-budget-card .article-subtitle,
.np-preview-budget-card .mini-body {
  text-overflow: ellipsis;
}
.np-preview-budget-card .read-link,
.np-preview-budget-card .primary-link {
  margin-top: 0 !important;
}
.article-shell > .share-strip:not(.article-share-end),
.msn-article > .share-strip:not(.article-share-end),
.article-byline + .share-strip:not(.article-share-end),
.article-subtitle + .share-strip:not(.article-share-end) {
  display: none !important;
}
.latest-updates-mobile-marquee { display: none; }
@keyframes latestUpdatesMobileScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 760px) {
  body[data-page="home"] #latestUpdatesRail.has-latest-updates {
    display: block !important;
    min-height: 142px !important;
    margin: 10px 0 16px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  body[data-page="home"] #latestUpdatesRail.has-latest-updates .latest-updates-rail {
    display: block !important;
    min-height: 142px !important;
    background: #020617 !important;
    border: 2px solid #facc15 !important;
    border-radius: 15px !important;
    overflow: hidden !important;
  }
  body[data-page="home"] .desktop-latest-updates-marquee {
    display: none !important;
  }
  body[data-page="home"] .latest-updates-mobile-marquee {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    padding: 10px 0 12px !important;
  }
  body[data-page="home"] .latest-updates-mobile-track {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: max-content !important;
    min-width: max-content !important;
    padding-left: 10px !important;
    animation: latestUpdatesMobileScroll 44s linear infinite !important;
    will-change: transform !important;
  }
  body[data-page="home"] .latest-updates-mobile-track .latest-update-card {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    width: 224px !important;
    min-width: 224px !important;
    flex: 0 0 224px !important;
    min-height: 82px !important;
    padding: 7px !important;
    gap: 8px !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.13) !important;
    border: 1px solid rgba(250, 204, 21, .35) !important;
    color: #fff !important;
  }
  body[data-page="home"] .latest-updates-mobile-track .latest-update-card img {
    display: block !important;
    width: 72px !important;
    height: 66px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }
  body[data-page="home"] .latest-updates-mobile-track .latest-update-copy strong {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  body[data-page="home"] .latest-updates-mobile-track .latest-update-copy b {
    color: #facc15 !important;
    font-size: 10px !important;
  }
}


/* V48: World Cup homepage updates rail + clearer share buttons */
.worldcup-updates-shell { margin: 0 0 18px; }
.worldcup-updates-rail {
  background: linear-gradient(135deg, #05311d 0%, #0b5b37 34%, #0f766e 68%, #14532d 100%);
  color: #fff;
  border-radius: 22px;
  box-shadow: 0 16px 36px rgba(3, 14, 10, .18);
  overflow: hidden;
  border: 1px solid rgba(250, 204, 21, .32);
  position: relative;
}
.worldcup-updates-rail::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 42%);
  pointer-events: none;
}
.worldcup-updates-title {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px 0;
  position: relative;
  z-index: 1;
}
.worldcup-updates-title span {
  background: #facc15;
  color: #062a18;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
}
.worldcup-updates-title h2 { margin: 0; font-size: 20px; color: #fefce8; }
.worldcup-updates-marquee { overflow: hidden; padding: 14px 0 18px; position: relative; z-index: 1; }
.worldcup-updates-track {
  display: flex;
  gap: 14px;
  width: max-content;
  padding-left: 16px;
  animation: worldCupUpdatesScrollRight 64s linear infinite;
}
.worldcup-updates-rail:hover .worldcup-updates-track { animation-play-state: paused; }
.worldcup-update-card {
  width: 360px;
  min-height: 140px;
  display: grid;
  grid-template-columns: 34px 118px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 12px;
  color: #fff;
  backdrop-filter: blur(4px);
}
.worldcup-update-number {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(250,204,21,.18);
  color: #fef08a;
  font-weight: 900;
  font-size: 15px;
}
.worldcup-update-card img {
  width: 118px;
  height: 108px;
  object-fit: cover;
  border-radius: 14px;
  background: rgba(2,6,23,.4);
}
.worldcup-update-copy { display: grid; align-content: center; min-width: 0; }
.worldcup-update-copy b { color: #fde68a; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.worldcup-update-copy strong {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 19px;
  line-height: 1.32;
  color: #fff;
}
.worldcup-update-copy small {
  margin-top: 6px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.after-worldcup-updates-ad { margin-bottom: 18px; }
.share-strip {
  gap: 12px;
  padding: 14px;
}
.share-label {
  font-weight: 900;
  color: var(--brand-dark);
  margin-right: 2px;
}
.share-strip a,
.share-strip button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
}
.share-strip a svg,
.share-strip button svg,
.share-strip a img,
.share-strip button img {
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
}
.share-strip .facebook { color: #1877f2; }
.share-strip .whatsapp { color: #16a34a; }
.share-strip .x { color: #111827; }
.share-strip .telegram { color: #229ed9; }
.share-strip .copy { color: #1d4ed8; }
.share-strip .share-fallback-glyph { font-size: 18px; line-height: 1; }
.latest-updates-mobile-marquee,
.worldcup-updates-mobile-marquee { display: none; }
@keyframes worldCupUpdatesScrollRight { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (max-width: 760px) {
  .worldcup-updates-shell {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
  }
  .worldcup-updates-rail {
    border-radius: 16px !important;
  }
  .worldcup-updates-title {
    padding: 11px 12px 0 !important;
    gap: 8px !important;
  }
  .worldcup-updates-title span { font-size: 10px !important; padding: 5px 8px !important; }
  .worldcup-updates-title h2 { font-size: 16px !important; }
  .desktop-worldcup-updates-marquee { display: none !important; }
  .worldcup-updates-mobile-marquee {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    padding: 10px 0 12px !important;
  }
  .worldcup-updates-mobile-track {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: max-content !important;
    min-width: max-content !important;
    padding-left: 10px !important;
    animation: worldCupUpdatesScrollRight 38s linear infinite !important;
    will-change: transform !important;
  }
  .worldcup-updates-mobile-track .worldcup-update-card {
    width: 310px !important;
    min-width: 310px !important;
    flex: 0 0 310px !important;
    min-height: 118px !important;
    grid-template-columns: 28px 98px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 10px !important;
    border-radius: 15px !important;
  }
  .worldcup-updates-mobile-track .worldcup-update-card img {
    width: 98px !important;
    height: 88px !important;
    border-radius: 12px !important;
  }
  .worldcup-updates-mobile-track .worldcup-update-number {
    font-size: 13px !important;
    border-radius: 12px !important;
  }
  .worldcup-updates-mobile-track .worldcup-update-copy strong {
    font-size: 15px !important;
    -webkit-line-clamp: 3 !important;
  }
  .worldcup-updates-mobile-track .worldcup-update-copy small {
    font-size: 11px !important;
    -webkit-line-clamp: 2 !important;
  }
  .after-worldcup-updates-ad { margin-bottom: 14px !important; }
  .share-strip {
    gap: 10px !important;
    margin: 0 18px 18px !important;
    padding: 12px !important;
  }
  .share-strip a,
  .share-strip button {
    min-width: calc(50% - 5px);
    justify-content: center;
    flex: 1 1 calc(50% - 5px);
  }
  .share-label {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2px;
  }
}

/* V51b: make Google SEO / Indexing admin section easy to find */
#google-seo-indexing {
  scroll-margin-top: 160px;
  border: 2px solid rgba(37, 99, 235, .22);
  box-shadow: 0 14px 34px rgba(37, 99, 235, .10);
}
#google-seo-indexing h3::before {
  content: '🔎 ';
}
.admin-sticky-tabs a[href="#google-seo-indexing"],
.admin-top-tabs a[href="#google-seo-indexing"] {
  background: #0f172a;
  color: #facc15;
  border-color: rgba(250, 204, 21, .45);
}
