/* =========================================================================
   WEEKLY JANOON — public site stylesheet
   -------------------------------------------------------------------------
   DESIGN PLAN
   Subject: an Urdu-language regional weekly newspaper (Srinagar/Kashmir),
   read primarily in Urdu (RTL), modeled on real Urdu broadsheet mastheads.

   Color:
     --ink:      #1c1a17   (near-black, warmer than pure black — newsprint ink)
     --paper:    #f6f2e9   (warm newsprint background, not pure white)
     --maroon:   #7a1220   (masthead / brand red, classic Urdu-daily red)
     --maroon-2: #5c0d18   (pressed/darker state)
     --gold:     #b8862c   (breaking-news / accent, agency-wire gold)
     --line:     #d8cfbd   (hairline rule color on paper)
     --ink-soft: #4a463f   (secondary text)

   Type:
     Headlines & nav: "Noto Nastaliq Urdu" — the calligraphic style readers
       associate with an Urdu masthead.
     Body/long-form Urdu copy: "Noto Naskh Arabic" — legible at small sizes,
       standard for Urdu body text (Nastaliq body text is slow to read).
     Latin/roman fragments (dates, admin, brand wordmark WEEKLY JANOON):
       "Georgia"/serif system stack, to sit quietly next to Urdu type.

   Layout: broadsheet grid — legitimate here because the subject itself is
     a print newspaper: hairline rules between stories, dense multi-column
     sections, small kicker labels naming the section (not decorative
     eyebrows). Right-to-left throughout the public site. A 2-column
     "lead story + rail" pattern repeats per section, mirroring how the
     reference paper stacks category blocks down the home page.

   Principles: quiet paper background, one strong red used sparingly
     (masthead bar, breaking tag, links on hover) — everything else reads
     in ink-black on newsprint, the way an actual press run looks.
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Noto+Nastaliq+Urdu:wght@400..700&family=Noto+Naskh+Arabic:wght@400..700&display=swap');

:root{
  --ink:      #0f1419;
  --ink-soft: #3a3f47;
  --paper:    #ffffff;
  --paper-2:  #f5f7fa;
  --maroon:   #c41e3a;
  --maroon-2: #8b1528;
  --gold:     #d4a574;
  --line:     #e0e4e8;
  --white:    #ffffff;
  --font-ur-head: 'Noto Nastaliq Urdu', serif;
  --font-ur-body: 'Noto Naskh Arabic', serif;
  --font-latin: Georgia, 'Times New Roman', serif;
--maxw: 100%
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-ur-body);
  direction:rtl;
  text-align:right;
  line-height:1.9;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--maroon);}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-ur-head);margin:0 0 .4em;line-height:1.5;font-weight:700;}
p{margin:0 0 1em;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:var(--maxw);margin:0 auto;padding:0;}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}

/* ---------- skip link ---------- */
.skip-link{position:absolute;right:-999px;top:0;background:var(--maroon);color:#fff;padding:10px 16px;z-index:999;}
.skip-link:focus{right:8px;top:8px;}

/* ---------- top utility bar ---------- */
.topbar{background:var(--ink);color:#e9e2cf;font-size:13px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:38px;}
.topbar-date{color:#c9c1a8;font-family:var(--font-latin);letter-spacing:.02em;}
.topbar-links{display:flex;gap:18px;align-items:center;}
.topbar-links a{opacity:.9;}
.topbar-links a:hover{opacity:1;color:var(--gold);}
.social-icons{display:flex;gap:10px;align-items:center;}
.social-icons a{width:26px;height:26px;border:1px solid #4c473d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;}
.social-icons a:hover{background:var(--maroon);border-color:var(--maroon);color:#fff;}

/* ---------- masthead ---------- */
.masthead{background:var(--paper);padding:22px 0 14px;border-bottom:4px solid var(--ink);}
.masthead .container{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:14px;}
.brand-mark{width:64px;height:64px;border-radius:50%;background:var(--maroon);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-latin);font-weight:700;font-size:22px;flex-shrink:0;}
.brand-text{text-align:center;}
.brand-title{font-family:var(--font-latin);font-weight:700;font-size:44px;letter-spacing:.04em;color:var(--ink);margin:0;line-height:1;}
.brand-title .accent{color:var(--maroon);}
.brand-tagline{font-family:var(--font-ur-body);font-size:14px;color:var(--ink-soft);margin-top:6px;letter-spacing:.02em;}
.masthead-meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-family:var(--font-latin);}
.masthead-edition{font-size:13px;color:var(--ink-soft);}
.masthead-search{display:flex;border:1px solid var(--line);}
.masthead-search input{border:0;background:transparent;padding:8px 10px;width:170px;font-family:var(--font-ur-body);color:var(--ink);}
.masthead-search button{border:0;background:var(--maroon);color:#fff;padding:8px 14px;}

/* ---------- primary nav ---------- */
.primary-nav{background:var(--maroon);border-bottom:3px solid var(--maroon-2);position:sticky;top:0;z-index:50;}
.primary-nav .container{position:relative;}
.nav-list{display:flex;flex-wrap:wrap;}
.nav-list > li{position:relative;}
.nav-list > li > a{display:block;padding:13px 16px;color:#fff;font-size:15.5px;font-weight:600;white-space:nowrap;}
.nav-list > li > a:hover,
.nav-list > li.active > a{background:var(--maroon-2);color:#fff;}
.nav-list .has-sub > a::after{content:' ▾';font-size:11px;opacity:.8;}
.sub-menu{display:none;position:absolute;top:100%;right:0;background:var(--white);border:1px solid var(--line);min-width:220px;box-shadow:0 10px 24px rgba(0,0,0,.15);z-index:60;}
.nav-list .has-sub:hover .sub-menu,
.nav-list .has-sub:focus-within .sub-menu{display:block;}
.sub-menu li a{display:block;padding:10px 16px;color:var(--ink);border-bottom:1px solid var(--line);font-size:14.5px;}
.sub-menu li:last-child a{border-bottom:0;}
.sub-menu li a:hover{background:var(--paper-2);color:var(--maroon);}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:24px;padding:10px 16px;}

/* ---------- breaking ticker ---------- */
.ticker{background:var(--ink);border-bottom:1px solid #000;}
.ticker .container{display:flex;align-items:center;gap:14px;padding:0;height:42px;}
.ticker-tag{background:var(--gold);color:var(--ink);font-weight:700;font-size:13px;padding:6px 14px;flex-shrink:0;font-family:var(--font-ur-head);}
.ticker-track{overflow:hidden;flex:1;white-space:nowrap;position:relative;height:42px;}
.ticker-track ul{display:inline-flex;gap:48px;align-items:center;height:42px;animation:tickerScroll 32s linear infinite;padding-inline-end:48px;}
.ticker-track:hover ul{animation-play-state:paused;}
.ticker-track li a{color:#e9e2cf;font-size:14.5px;}
.ticker-track li a:hover{color:var(--gold);}
@keyframes tickerScroll{
  from{transform:translateX(100%);}
  to{transform:translateX(-100%);}
}
@media (prefers-reduced-motion: reduce){
  .ticker-track ul{animation:none;}
}

/* ---------- section headers ---------- */
.section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--ink);margin:34px 0 18px;padding-bottom:8px;}
.section-head h2{font-size:24px;margin:0;position:relative;}
.section-head h2::before{content:'';display:inline-block;width:8px;height:22px;background:var(--maroon);margin-inline-start:8px;vertical-align:-4px;}
.section-more{font-size:13.5px;color:var(--maroon);font-weight:600;border:1px solid var(--maroon);padding:4px 12px;}
.section-more:hover{background:var(--maroon);color:#fff;}

/* ---------- home layout ---------- */
.home-grid{display:grid;grid-template-columns:2.1fr 1fr;gap:28px;margin-top:22px;}
.lead-story{border-bottom:1px solid var(--line);}
.lead-story img{width:100%;height:360px;object-fit:cover;border:1px solid var(--line);}
.lead-story h1{font-size:30px;margin-top:16px;}
.lead-story .story-meta{font-family:var(--font-latin);font-size:13px;color:var(--ink-soft);margin-bottom:10px;}
.lead-story .story-excerpt{color:var(--ink-soft);}
.side-list{display:flex;flex-direction:column;gap:0;}
.side-list li{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);}
.side-list li:first-child{padding-top:0;}
.side-list img{width:88px;height:64px;object-fit:cover;flex-shrink:0;border:1px solid var(--line);}
.side-list .s-title{font-size:15px;font-weight:700;font-family:var(--font-ur-head);line-height:1.5;}
.side-list .s-date{font-family:var(--font-latin);font-size:11.5px;color:var(--ink-soft);margin-top:4px;}

/* editorial box */
.rail-box{border:1px solid var(--line);background:var(--white);margin-top:24px;}
.rail-box h3{background:var(--ink);color:#fff;font-size:16px;padding:10px 14px;margin:0;}
.rail-box ul li{padding:10px 14px;border-bottom:1px solid var(--line);font-size:14.5px;}
.rail-box ul li:last-child{border-bottom:0;}
.rail-box ul li a:hover{color:var(--maroon);}

.youtube-box{border:1px solid var(--line);margin-top:24px;background:var(--white);text-align:center;}
.youtube-box h3{background:var(--maroon);color:#fff;font-size:16px;padding:10px 14px;margin:0;}
.youtube-box .yt-wrap{padding:14px;}
.youtube-box img{width:100%;}

/* ---------- category block (repeats down homepage) ---------- */
.cat-block{margin-top:8px;}
.cat-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px;}
.cat-feature img{width:100%;height:230px;object-fit:cover;border:1px solid var(--line);}
.cat-feature h3{font-size:20px;margin-top:12px;}
.cat-feature .story-meta{font-family:var(--font-latin);font-size:12.5px;color:var(--ink-soft);}
.cat-mini-list li{padding:12px 0;border-bottom:1px solid var(--line);}
.cat-mini-list li:first-child{padding-top:0;}
.cat-mini-list img{width:100%;height:120px;object-fit:cover;border:1px solid var(--line);margin-bottom:8px;}
.cat-mini-list .s-title{font-size:15px;font-weight:700;font-family:var(--font-ur-head);}

/* ---------- article grid (category page) ---------- */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;}
.article-card{border:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;}
.article-card img{width:100%;height:180px;object-fit:cover;}
.article-card .card-body{padding:14px;}
.article-card .card-cat{color:var(--maroon);font-size:12px;font-weight:700;font-family:var(--font-ur-head);}
.article-card h3{font-size:17px;margin:8px 0 6px;}
.article-card .story-meta{font-family:var(--font-latin);font-size:12px;color:var(--ink-soft);}
.article-card .story-excerpt{font-size:14px;color:var(--ink-soft);margin-top:6px;}

.pagination{display:flex;justify-content:center;gap:8px;margin:34px 0;}
.pagination button{border:1px solid var(--line);background:var(--white);padding:8px 16px;font-family:var(--font-latin);}
.pagination button:hover{background:var(--maroon);color:#fff;border-color:var(--maroon);}
.pagination button[disabled]{opacity:.4;cursor:not-allowed;}
.pagination button.active{background:var(--ink);color:#fff;}

/* ---------- article detail ---------- */
.article-detail{max-width:820px;margin:26px auto 0;}
.article-detail .kicker{color:var(--maroon);font-weight:700;font-family:var(--font-ur-head);}
.article-detail h1{font-size:32px;margin-top:8px;}
.article-detail .story-meta{font-family:var(--font-latin);font-size:13px;color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px;display:flex;gap:16px;flex-wrap:wrap;}
.article-detail .lead-image{width:100%;max-height:460px;object-fit:cover;border:1px solid var(--line);margin-bottom:8px;}
.article-detail .caption{font-size:12.5px;color:var(--ink-soft);text-align:center;margin-bottom:20px;font-family:var(--font-latin);}
.article-body{font-size:18px;line-height:2.1;}
.article-body p{margin-bottom:1.1em;}
.share-row{display:flex;gap:10px;margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;align-items:center;}
.share-row span{font-family:var(--font-latin);font-size:13px;color:var(--ink-soft);}
.share-btn{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;}
.share-btn:hover{background:var(--maroon);color:#fff;}
.related-strip{margin-top:36px;}

/* ---------- e-paper ---------- */
.epaper-hero{display:flex;gap:28px;margin-top:20px;flex-wrap:wrap;}
.epaper-viewer{flex:1;min-width:280px;border:1px solid var(--line);background:var(--white);padding:16px;text-align:center;}
.epaper-viewer .page-frame{width:100%;aspect-ratio:210/297;background:var(--paper-2) center/cover no-repeat;border:1px solid var(--line);margin-bottom:12px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-family:var(--font-latin);}
.epaper-nav{display:flex;justify-content:center;gap:10px;align-items:center;font-family:var(--font-latin);}
.epaper-nav button{border:1px solid var(--ink);background:var(--white);padding:8px 14px;}
.epaper-nav button:hover{background:var(--ink);color:#fff;}
.epaper-side{width:300px;flex-shrink:0;}
.epaper-side h3{font-size:18px;border-bottom:2px solid var(--ink);padding-bottom:8px;}
.epaper-archive-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-family:var(--font-latin);font-size:14px;}
.epaper-archive-list a.dl{color:var(--maroon);font-weight:700;}

/* ---------- search ---------- */
.search-hero{background:var(--white);border:1px solid var(--line);padding:24px;margin-top:20px;display:flex;gap:10px;}
.search-hero input{flex:1;border:1px solid var(--line);padding:12px;font-family:var(--font-ur-body);font-size:16px;}
.search-hero button{background:var(--maroon);color:#fff;border:0;padding:12px 22px;font-weight:700;}
.search-results-count{margin:18px 0;color:var(--ink-soft);font-family:var(--font-latin);font-size:14px;}

/* ---------- footer ---------- */
.site-footer{background:var(--ink);color:#cfc9b8;margin-top:50px;}
.footer-top{padding:44px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;}
.footer-brand .brand-title{color:#fff;font-size:30px;}
.footer-brand p{color:#a49f8e;font-size:14px;margin-top:10px;}
.footer-col h4{color:#fff;font-size:16px;border-bottom:2px solid var(--maroon);display:inline-block;padding-bottom:6px;margin-bottom:14px;}
.footer-col ul li{padding:6px 0;font-size:14px;}
.footer-col ul li a:hover{color:var(--gold);}
.footer-social{display:flex;gap:10px;margin-top:14px;}
.footer-social a{width:32px;height:32px;border-radius:50%;border:1px solid #4c473d;display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--maroon);border-color:var(--maroon);color:#fff;}
.footer-bottom{border-top:1px solid #3a362e;padding:16px 0;text-align:center;font-size:13px;color:#8d886f;font-family:var(--font-latin);}

/* ---------- misc components ---------- */
.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;font-family:var(--font-ur-head);}
.badge.breaking{background:var(--gold);color:var(--ink);}
.badge.featured{background:var(--maroon);color:#fff;}
.empty-state{border:1px dashed var(--line);padding:40px;text-align:center;color:var(--ink-soft);margin-top:20px;}
.loading-state{padding:40px;text-align:center;color:var(--ink-soft);font-family:var(--font-latin);}
.skeleton{background:linear-gradient(90deg,var(--paper-2) 25%,var(--line) 37%,var(--paper-2) 63%);background-size:400% 100%;animation:sk 1.4s ease infinite;}
@keyframes sk{0%{background-position:100% 0}100%{background-position:0 0}}

/* ---------- breadcrumb ---------- */
.breadcrumb{font-family:var(--font-latin);font-size:13px;color:var(--ink-soft);margin-top:16px;}
.breadcrumb a:hover{color:var(--maroon);}

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .home-grid{grid-template-columns:1fr;}
  .cat-grid{grid-template-columns:1fr 1fr;}
  .cat-grid .cat-feature{grid-column:1 / -1;}
  .article-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .epaper-hero{flex-direction:column;}
  .epaper-side{width:100%;}
}
@media (max-width: 720px){
  .topbar-links span.hide-mobile{display:none;}
  .brand-title{font-size:32px;}
  .brand-mark{width:50px;height:50px;font-size:17px;}
  .masthead .container{flex-direction:column;text-align:center;}
  .masthead-meta{align-items:center;width:100%;}
  .masthead-search{width:100%;}
  .masthead-search input{width:100%;}
  .nav-toggle{display:block;margin-inline-start:auto;}
  .nav-list{display:none;flex-direction:column;width:100%;position:absolute;top:100%;right:0;background:var(--maroon-2);}
  .nav-list.open{display:flex;}
  .nav-list > li{width:100%;}
  .sub-menu{position:static;box-shadow:none;width:100%;}
  .article-grid{grid-template-columns:1fr;}
  .cat-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;text-align:center;}
  .footer-col h4{display:block;}
  .footer-social{justify-content:center;}
  .article-detail h1{font-size:24px;}
  .lead-story h1{font-size:24px;}
}
/* ---------- overall text size increase ---------- */
body{font-size:16px;}
.nav-list > li > a{font-size:17.5px !important;}
.sub-menu li a{font-size:16px !important;}
.ticker-track li a{font-size:16px !important;}
.ticker-tag{font-size:14px !important;}
.side-list .s-title{font-size:16.5px !important;}
.side-list .s-date{font-size:13px !important;}
.rail-box ul li{font-size:16px !important;}
.section-head h2{font-size:26px !important;}
.cat-feature h3{font-size:22px !important;}
.cat-mini-list .s-title{font-size:16.5px !important;}
.article-card h3{font-size:18.5px !important;}
.article-card .story-excerpt{font-size:15.5px !important;}
.article-card .card-cat{font-size:13.5px !important;}
.article-body{font-size:19.5px !important;}
.article-detail h1{font-size:34px !important;}
.article-detail .story-meta{font-size:14.5px !important;}
.lead-story h1{font-size:32px !important;}
.lead-story .story-excerpt{font-size:16px !important;}
.footer-col ul li{font-size:15px !important;}
.footer-brand p{font-size:15px !important;}
.masthead-edition{font-size:14px !important;}
.masthead-search input{font-size:15px !important;}
.search-hero input{font-size:17px !important;}
.badge{font-size:12.5px !important;}
.brand-tagline{font-size:16px !important;}
.topbar{font-size:14px !important;}
.breadcrumb{font-size:14px !important;}