/* =====================================================================
   SUNDARBAN NEWS 24 - SITE THEME (one file for the whole public site)
   Sections, in load order:
     1. Dark mode
     2. Header
     3. Layout & components
     4. Brand - change the colours in the :root block of section 4
     5. Back-to-top button
     6. Sitemap page
     7. Gradient & 3D finish (remove to go back to the flat look)
     8. Story text size buttons
     9. Latest / popular lists: category + time
    10. Story text: reading font and spacing
    11. Latest / popular lists: round photos
   Page-only extras stay separate: home-new.css (homepage), news-pages.css (listing/story pages).
   ===================================================================== */


/* #####################################################################
   1. DARK MODE
   ##################################################################### */

/*====== DARK MODE ======
  Active when <html data-theme="dark">. The theme is chosen in layouts/front.blade.php
  (saved in localStorage, falls back to the visitor's OS preference).
*/

/*------ toggle button (menu bar, next to search) ------*/
.attr-nav ul li { display: inline-block; vertical-align: middle; }
.attr-nav ul li.theme-toggle a { cursor: pointer; padding-right: 12px; }
.attr-nav ul li.theme-toggle .fa-sun-o { display: none; }
html[data-theme="dark"] .attr-nav ul li.theme-toggle .fa-sun-o { display: inline-block; }
html[data-theme="dark"] .attr-nav ul li.theme-toggle .fa-moon-o { display: none; }

html[data-theme="dark"] {
  --dm-bg: #121212;
  --dm-surface: #1c1c1e;
  --dm-surface-2: #26262a;
  --dm-text: #e6e6e6;
  --dm-muted: #a9a9a9;
  --dm-border: #34343a;
  color-scheme: dark;
}

/*------ base ------*/
html[data-theme="dark"] body {
  background: var(--dm-bg);
  color: var(--dm-text);
}
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] span,
html[data-theme="dark"] label,
html[data-theme="dark"] td,
html[data-theme="dark"] th {
  color: inherit;
}
html[data-theme="dark"] a { color: var(--dm-text); }
html[data-theme="dark"] hr { border-color: var(--dm-border); }

/*------ surfaces that are white / light grey in style.css ------*/
html[data-theme="dark"] .logo-area,
html[data-theme="dark"] .marquee,
html[data-theme="dark"] .marquee-breaking,
html[data-theme="dark"] .lead-news-second,
html[data-theme="dark"] .nav-pills .nav-link.active,
html[data-theme="dark"] .least-news-ul,
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .international-lead,
html[data-theme="dark"] .international-news-ul li a,
html[data-theme="dark"] .life-style-single-text,
html[data-theme="dark"] .bottom-bar,
html[data-theme="dark"] .writter-ul .feature-news-single,
html[data-theme="dark"] .lead-national-main-text,
html[data-theme="dark"] .single-block,
html[data-theme="dark"] .division-style,
html[data-theme="dark"] .writter-ul-single-white,
html[data-theme="dark"] .details-page-breadcrumb,
html[data-theme="dark"] .details-content,
html[data-theme="dark"] .btn-more-details,
html[data-theme="dark"] .facebook-comment-box,
html[data-theme="dark"] .details-news-single-text,
html[data-theme="dark"] .category-content-lead-right,
html[data-theme="dark"] .category-content-single,
html[data-theme="dark"] .category-page-tab .nav-link.active,
html[data-theme="dark"] .video-gallery-category,
html[data-theme="dark"] .details-photo-gallery,
html[data-theme="dark"] .photo-gallery-more-news,
html[data-theme="dark"] .district-wrapper,
html[data-theme="dark"] .district-ul,
html[data-theme="dark"] .district-ul li a,
html[data-theme="dark"] .details-more-news-single-text,
html[data-theme="dark"] .card,
html[data-theme="dark"] .modal-content,
html[data-theme="dark"] .list-group-item {
  background: var(--dm-surface) !important;
  color: var(--dm-text);
  border-color: var(--dm-border);
}

html[data-theme="dark"] .header-top-area,
html[data-theme="dark"] .feature-news-single,
html[data-theme="dark"] .writter-ul-single,
html[data-theme="dark"] .videos-text,
html[data-theme="dark"] .allnews-title-2 a,
html[data-theme="dark"] .photo-gallery-ul li a,
html[data-theme="dark"] .image-caption,
html[data-theme="dark"] .pagination-list {
  background: var(--dm-surface-2) !important;
  color: var(--dm-text);
}

html[data-theme="dark"] .btn-date-picker::before,
html[data-theme="dark"] .all-news-btn:before,
html[data-theme="dark"] .all-news-btn-2:before {
  background: var(--dm-surface);
}

/*------ text that is black in style.css ------*/
html[data-theme="dark"] .current-date li,
html[data-theme="dark"] .current-date li i,
html[data-theme="dark"] .current-date,
html[data-theme="dark"] .other-link li a,
html[data-theme="dark"] .marquee li a,
html[data-theme="dark"] .marquee-breaking li a,
html[data-theme="dark"] .lead-news-second-heading h3,
html[data-theme="dark"] .least-news-ul .least-news-right h3,
html[data-theme="dark"] .feature-news-right h3,
html[data-theme="dark"] .feature-news-single:hover .feature-news-right h3,
html[data-theme="dark"] .international-lead-heading p,
html[data-theme="dark"] .international-lead-detail p,
html[data-theme="dark"] .life-style-single-text h2,
html[data-theme="dark"] .title-bg a,
html[data-theme="dark"] .single-videos a,
html[data-theme="dark"] .lead-national-main-text h2,
html[data-theme="dark"] .writter-ul-right h3,
html[data-theme="dark"] .details-page-breadcrumb .active,
html[data-theme="dark"] .details-page-breadcrumb .active a,
html[data-theme="dark"] .details-content,
html[data-theme="dark"] .details-content p,
html[data-theme="dark"] .btn-more-details,
html[data-theme="dark"] .details-news-single-text h3,
html[data-theme="dark"] .category-content-lead-right h1,
html[data-theme="dark"] .category-content-lead-right p,
html[data-theme="dark"] .category-content-single-right h2,
html[data-theme="dark"] .allnews-title-2 a,
html[data-theme="dark"] .video-heading h2,
html[data-theme="dark"] .photo-gallery-ul-right h2,
html[data-theme="dark"] .details-photo-gallery-heading h1,
html[data-theme="dark"] #lightgallery li p,
html[data-theme="dark"] .gallery-more-news-heading h3,
html[data-theme="dark"] .district-ul li a,
html[data-theme="dark"] .tag-ul li,
html[data-theme="dark"] .details-more-news-single-text h3,
html[data-theme="dark"] .pagination-list li a,
html[data-theme="dark"] .pagination-list li span {
  color: var(--dm-text) !important;
}

/* hover colours that turn text black */
html[data-theme="dark"] .special-event-heading a:hover,
html[data-theme="dark"] .feature-news-lead a:hover,
html[data-theme="dark"] .international-lead a:hover,
html[data-theme="dark"] .international-news-ul li a:hover,
html[data-theme="dark"] .details-news-single a:hover,
html[data-theme="dark"] .photo-gallery-heading a:hover,
html[data-theme="dark"] .attr-nav ul li a:hover {
  color: #fff !important;
}

/*------ menu dropdowns (styled inline in partial/front/header) ------*/
html[data-theme="dark"] .navbar-nav .dropdown-menu,
html[data-theme="dark"] .dropdown-item {
  background-color: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
html[data-theme="dark"] .navbar-nav .dropdown-menu .dropdown-item {
  color: var(--dm-text) !important;
  border-bottom-color: var(--dm-border);
}
html[data-theme="dark"] .navbar-nav .dropdown-menu .dropdown-item:hover {
  background-color: var(--dm-surface-2) !important;
}

/*------ forms ------*/
html[data-theme="dark"] .form-control,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background-color: var(--dm-surface-2);
  color: var(--dm-text);
  border-color: var(--dm-border);
}
html[data-theme="dark"] .form-control::placeholder { color: var(--dm-muted); }

/*------ tables & borders ------*/
html[data-theme="dark"] .table,
html[data-theme="dark"] .table td,
html[data-theme="dark"] .table th,
html[data-theme="dark"] .vot-body {
  color: var(--dm-text);
  border-color: var(--dm-border) !important;
}

/*------ calendar widget ------*/
html[data-theme="dark"] .pignose-calender {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}
html[data-theme="dark"] .pignose-calender .pignose-calender-unit a,
html[data-theme="dark"] .pignose-calender .pignose-calender-week,
html[data-theme="dark"] .pignose-calender .pignose-calender-header .pignose-calender-week.pignose-calender-week-sun,
html[data-theme="dark"] .pignose-calender .pignose-calender-header .pignose-calender-week.pignose-calender-week-sat,
html[data-theme="dark"] .pignose-calender .pignose-calender-body .pignose-calender-row .pignose-calender-unit.pignose-calender-unit-sat a,
html[data-theme="dark"] .pignose-calender .pignose-calender-body .pignose-calender-row .pignose-calender-unit.pignose-calender-unit-sun a {
  color: var(--dm-text) !important;
}

/* soften pictures slightly so they don't glare on a dark page */
html[data-theme="dark"] img { filter: brightness(.92); }
html[data-theme="dark"] .main-logo img { filter: none; }


/* #####################################################################
   2. HEADER (top row, category bar, drawer, search)
   ##################################################################### */

/*====== SITE HEADER â€” partial/front/header.blade.php ======*/
:root {
  --sh-bg: #ffffff;
  --sh-text: #1d1d1f;
  --sh-muted: #6f6f6f;
  --sh-line: #e9e9e9;
  --sh-hover: #f5f5f5;
}
html[data-theme="dark"] {
  --sh-bg: #151517;
  --sh-text: #ececec;
  --sh-muted: #a0a0a0;
  --sh-line: #2c2c30;
  --sh-hover: #222226;
}

/* row 1 */
.sh-top { background: var(--sh-bg); border-bottom: 1px solid var(--sh-line); }
.sh-top-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 96px;
}
.sh-left { justify-self: start; display: flex; align-items: center; gap: 8px; }
.sh-date { font-size: 14px; color: var(--sh-muted); white-space: nowrap; }
.sh-date .fa { margin-right: 4px; }
.sh-logo { justify-self: center; display: block; }
.sh-logo img { display: block; height: 80px; width: auto; max-width: 100%; }
.sh-actions { justify-self: end; display: flex; align-items: center; gap: 6px; }

.sh-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border: 0; border-radius: 50%;
  background: transparent;
  color: var(--sh-text) !important;
  font-size: 20px;
  cursor: pointer;
  transition: background .15s ease;
}
.sh-icon:hover { background: var(--sh-hover); text-decoration: none; }

/* account: avatar when signed in (green dot), menu with name / dashboard / logout */
/* the account menu opens downward over the sticky category bar (z-index 1000/1001),
   so the top row has to sit above it (still below the drawer at 1999) */
.sh-top { position: relative; z-index: 1002; }
.sh-acc { position: relative; }
.sh-acc > summary { list-style: none; }
.sh-acc > summary::-webkit-details-marker { display: none; }
.sh-acc-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; margin-left: 4px; border-radius: 50%; cursor: pointer;
  background: var(--tk-accent, #c4161c); color: #fff; font-weight: 700; font-size: 16px;
  box-shadow: 0 0 0 2px var(--sh-bg), 0 0 0 4px var(--tk-accent, #c4161c);
}
.sh-acc-btn img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.sh-acc-dot {
  position: absolute; right: -2px; bottom: -2px; width: 11px; height: 11px; border-radius: 50%;
  background: #16a34a; border: 2px solid var(--sh-bg);
}
.sh-acc-menu {
  position: absolute; right: 0; top: calc(100% + 10px); z-index: 1000; min-width: 200px;
  background: var(--sh-bg); border: 1px solid var(--sh-line); border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .12); padding: 6px;
}
.sh-acc-who { padding: 8px 10px 10px; border-bottom: 1px solid var(--sh-line); margin-bottom: 4px; }
.sh-acc-who strong { display: block; color: var(--sh-text); font-size: 15px; }
.sh-acc-who small { color: var(--sh-muted); font-size: 12.5px; }
.sh-acc-menu a { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 6px; color: var(--sh-text) !important; font-size: 14.5px; }
.sh-acc-menu a:hover { background: var(--sh-hover); text-decoration: none; }
.sh-theme .fa-sun-o { display: none; }
html[data-theme="dark"] .sh-theme .fa-sun-o { display: inline-block; }
html[data-theme="dark"] .sh-theme .fa-moon-o { display: none; }

/* compact EN | BN switch */
.sh-lang {
  display: inline-flex; align-items: center;
  margin-left: 6px; padding: 2px;
  border: 1px solid var(--sh-line, #e5e7eb); border-radius: 14px;
  font: 700 11.5px/1 Arial, Helvetica, sans-serif; letter-spacing: .4px;
}
.sh-lang a, .sh-lang .on { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 24px; padding: 0 8px; border-radius: 12px; }
.sh-lang a { color: var(--sh-muted, #6b7280) !important; text-decoration: none; }
.sh-lang a:hover { color: var(--tk-accent, #c4161c) !important; text-decoration: none; }
.sh-lang .on { background: var(--tk-accent, #c4161c); color: #fff; }

/* row 2: menu */
.sh-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--sh-bg);
  border-bottom: 1px solid var(--sh-line);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}
.sh-nav-inner { display: flex; align-items: center; }
.sh-nav-logo {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 0; height: 40px; margin-right: 0; overflow: hidden;
  opacity: 0; transition: width .2s ease, margin .2s ease, opacity .2s ease;
}
.sh-nav-logo img {
  width: 40px; height: 40px; flex: none; object-fit: contain;
  border-radius: 50%; border: 1px solid var(--sh-line); background: #fff; padding: 2px;
}
body.sh-stuck .sh-nav-logo { width: 40px; margin-right: 16px; opacity: 1; }
/* search + language after the categories â€” only while the menu is stuck to the top */
.sh-nav-tools {
  flex: none; display: flex; align-items: center; gap: 6px;
  max-width: 0; overflow: hidden; opacity: 0; transition: max-width .2s ease, opacity .2s ease, margin .2s ease;
}
body.sh-stuck .sh-nav-tools { max-width: 220px; margin-left: 12px; opacity: 1; overflow: visible; }
.sh-nav-tools .sh-icon { width: 36px; height: 36px; font-size: 17px; }
.sh-menu {
  flex: 1; min-width: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.sh-menu > li { position: relative; }
.sh-menu > li > a {
  display: block;
  padding: 15px 15px 13px;
  font-size: 18px;
  font-weight: 500;
  color: var(--sh-text) !important;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  text-decoration: none;
}
.sh-menu > li > a:hover,
.sh-menu > li.active > a {
  color: var(--tk-accent, #c4161c) !important;
  border-bottom-color: var(--tk-accent, #c4161c);
}
/* home icon before the categories */
.sh-menu > li.sh-home > a { padding-left: 12px; padding-right: 12px; font-size: 20px; color: var(--tk-accent, #c4161c) !important; }
.sh-sub {
  display: none;
  position: absolute; left: 0; top: 100%;
  min-width: 190px;
  list-style: none; margin: 0; padding: 6px 0;
  background: var(--sh-bg);
  border: 1px solid var(--sh-line);
  border-radius: 0 0 6px 6px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
  z-index: 1001;
}
.sh-has-sub:hover > .sh-sub { display: block; }
.sh-sub a { display: block; padding: 8px 16px; font-size: 16px; color: var(--sh-text) !important; text-decoration: none; }
.sh-sub a:hover { background: var(--sh-hover); color: var(--tk-accent, #c4161c) !important; }

/* search bar */
/* one bordered box: [ input .................. | ðŸ”  âœ• ] */
.sh-search { display: none; border-top: 1px solid var(--sh-line); background: var(--sh-bg); padding: 20px 0; }
body.sh-search-open .sh-search { display: block; }
.sh-search-box {
  display: flex;
  align-items: stretch;
  border: 1px solid #dcdcdc;
  background: var(--sh-bg);
}
html[data-theme="dark"] .sh-search-box { border-color: var(--sh-line); }
.sh-search-box:focus-within { border-color: #b5b5b5; }
.sh-search-box input {
  flex: 1;
  min-width: 0;
  height: 50px;
  padding: 0 16px;
  font-size: 17px;
  border: 0;
  background: transparent;
  color: var(--sh-text);
  outline: none;
  box-shadow: none;
}
.sh-search-box input::placeholder { color: #9a9a9a; }
.sh-search-box button {
  width: 50px;
  border: 0;
  background: transparent;
  color: #555;
  font-size: 22px;
  cursor: pointer;
  transition: color .15s ease;
}
html[data-theme="dark"] .sh-search-box button { color: var(--sh-muted); }
.sh-search-box .sh-search-go { border-left: 1px solid #dcdcdc; }
html[data-theme="dark"] .sh-search-box .sh-search-go { border-left-color: var(--sh-line); }
.sh-search-box button:hover { color: var(--tk-accent, #c4161c); }

/* drawer */
.sh-overlay {
  position: fixed; inset: 0; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, .45);
  opacity: 0; visibility: hidden;
  transition: opacity .2s ease;
  z-index: 1999;
}
.sh-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 320px; max-width: 86vw;
  background: var(--sh-bg);
  color: var(--sh-text);
  transform: translateX(100%);
  transition: transform .25s ease;
  z-index: 2000;
  overflow-y: auto;
  box-shadow: -6px 0 24px rgba(0, 0, 0, .15);
}
body.sh-drawer-open { overflow: hidden; }
body.sh-drawer-open .sh-overlay { opacity: 1; visibility: visible; }
body.sh-drawer-open .sh-drawer { transform: translateX(0); }
.sh-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--sh-line); }
.sh-drawer-head img { height: 40px; width: auto; }
/* drawer search: [ input ............ | ðŸ” ] */
.sh-drawer-search {
  display: flex; margin: 14px 16px 6px;
  border: 1px solid #dcdcdc; border-radius: 6px; overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
}
html[data-theme="dark"] .sh-drawer-search { border-color: var(--sh-line); }
.sh-drawer-search input {
  flex: 1; min-width: 0; height: 44px; padding: 0 12px;
  border: 0; outline: none; box-shadow: none;
  background: transparent; color: var(--sh-text); font-size: 16px;
}
.sh-drawer-search button {
  width: 50px; border: 0; cursor: pointer;
  background: var(--tk-accent, #c4161c); color: #fff; font-size: 19px;
}

/* categories & feature links: two columns with divider lines */
.sh-drawer-cats, .sh-drawer-links {
  display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px;
  list-style: none; margin: 0; padding: 4px 16px 10px;
}
.sh-drawer-cats a, .sh-drawer-links a {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 0; border-bottom: 1px solid var(--sh-line);
  font-size: 16px; font-weight: 600; line-height: 1.3;
  color: var(--sh-text) !important; text-decoration: none;
}
.sh-drawer-cats a:hover, .sh-drawer-links a:hover { color: var(--tk-accent, #c4161c) !important; }
.sh-drawer-cats a { gap: 8px; }
.sh-cat-ico { width: 18px; height: 18px; object-fit: contain; flex: none; border-radius: 3px; }
.sh-drawer-links { border-top: 1px solid var(--sh-line); padding-top: 6px; }
.sh-drawer-links a { font-size: 15px; }
.sh-drawer-links .fa { width: 20px; font-size: 18px; text-align: center; flex: none; }
.sh-drawer-langs { display: flex; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--sh-line); }
.sh-drawer-langs a { padding: 5px 12px; border: 1px solid var(--sh-line); border-radius: 20px; font-size: 14px; color: var(--sh-text) !important; text-decoration: none; }
.sh-drawer-langs a.active { background: var(--tk-accent, #c4161c); border-color: var(--tk-accent, #c4161c); color: #fff !important; }
.sh-drawer-social { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 12px 20px 24px; }
.sh-drawer-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--sh-hover); color: var(--sh-text) !important;
}
.sh-drawer-social a:hover { background: var(--tk-accent, #c4161c); color: #fff !important; }

/* responsive */
@media (max-width: 991px) {
  .sh-menu { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .sh-menu::-webkit-scrollbar { display: none; }
  .sh-menu > li > a { padding: 12px 12px 10px; font-size: 16px; }
  .sh-has-sub:hover > .sh-sub { display: none; } /* sub-menus live in the drawer on small screens */
}
.sh-menu-toggle { flex: none; }

/* dark / light item in the account menu â€” phones / tablets only */
.sh-acc-theme { display: none; }
.sh-acc-theme a .fa-sun-o, .sh-acc-theme a .t-light { display: none; }
html[data-theme="dark"] .sh-acc-theme a .fa-moon-o, html[data-theme="dark"] .sh-acc-theme a .t-dark { display: none; }
html[data-theme="dark"] .sh-acc-theme a .fa-sun-o { display: inline-block; color: #fbbf24; }
html[data-theme="dark"] .sh-acc-theme a .t-light { display: inline; }

/* phones / tablets: [ â˜° ]  [  logo  ]  [ ðŸ” ðŸ‘¤ ] â€” language switch lives in the drawer,
   and when signed in the dark / light switch moves into the account menu */
@media (max-width: 991px) {
  .sh-acc-theme { display: block; }
  .sh-signed-in .sh-theme { display: none; }
}
@media (max-width: 991px) {
  .sh-top-inner { grid-template-columns: 1fr auto 1fr; min-height: 72px; gap: 6px; }
  .sh-left, .sh-logo, .sh-actions { min-width: 0; }
  .sh-date { display: none; }
  .sh-menu-toggle { display: inline-flex; margin-left: -8px; }
  .sh-logo { justify-self: center; }
  .sh-logo img { height: 58px; max-width: calc(100vw - 140px); object-fit: contain; }
  .sh-actions { gap: 0; margin-right: -8px; }
  .sh-icon { width: 36px; height: 36px; font-size: 18px; }
  .sh-lang { display: none; }
  /* menu button is on the left, so the drawer opens from the left */
  .sh-drawer { right: auto; left: 0; width: 100%; max-width: 100%; transform: translateX(-100%); box-shadow: none; }
}


/* #####################################################################
   3. LAYOUT & COMPONENTS (homepage, listing pages, story page)
   ##################################################################### */

/* =====================================================================
   JONODRISHTI BRAND LAYER
   Colours come from the logo: red "à¦œà¦¨", charcoal "à¦¦à§ƒà¦·à§à¦Ÿà¦¿", blue globe.
   Loaded after header-new.css / home-new.css and overrides them.
   ===================================================================== */
:root {
  --jd-red: #d7141a;
  --jd-red-deep: #a50e13;
  --jd-red-soft: #fdecec;
  --jd-ink: #1e1f22;
  --jd-ink-2: #2b2d31;
  --jd-blue: #1559b0;
  --jd-blue-deep: #0b2f63;
  --jd-grey: #8a8d93;
  --tk-accent: var(--jd-red);
  /* the slash rule under the logo: red bar Â· slashes Â· charcoal bar */
  --jd-stripe: linear-gradient(90deg,
      var(--jd-red-deep) 0, var(--jd-red) 48%,
      transparent 48%, transparent 49%,
      var(--jd-red) 49%, var(--jd-red) 51%,
      transparent 51%, transparent 52%,
      var(--jd-grey) 52%, var(--jd-grey) 54%,
      transparent 54%, transparent 55%,
      var(--jd-ink) 55%, var(--jd-ink) 57%,
      transparent 57%, transparent 58%,
      var(--jd-ink) 58%, #55585e 100%);
}
html[data-theme="dark"] {
  --jd-ink: #0e0f11;
  --jd-ink-2: #1b1c20;
  --jd-red-soft: #3a1214;
}

/* ---------------- header: top row ---------------- */
.sh-top { border-bottom: 0; }
.sh-top::before { content: ""; display: block; height: 5px; background: var(--jd-stripe); }
html[data-theme="dark"] .sh-top::before { background: linear-gradient(90deg, var(--jd-red-deep), var(--jd-red) 55%, #55585e 55%, #3a3c41); }
.sh-logo img { height: 86px; }
/* the logo artwork sits on white: keep it on a white plate in dark mode */
html[data-theme="dark"] .sh-logo img,
html[data-theme="dark"] .sh-drawer-head img { background: #fff; border-radius: 8px; padding: 4px 10px; }

@media (min-width: 992px) {
  /* desktop: [â˜° logo] .............. [date Â· tools] */
  .sh-top-inner { grid-template-columns: auto auto 1fr auto; column-gap: 14px; min-height: 108px; }
  .sh-left { display: contents; }
  .sh-menu-toggle { order: 0; }
  .sh-logo { order: 1; justify-self: start; }
  .sh-date {
    order: 2; justify-self: end;
    padding: 6px 14px; border-radius: 999px;
    background: var(--sh-hover); color: var(--sh-text); font-size: 14.5px;
  }
  .sh-date .fa { color: var(--jd-red); }
  .sh-actions { order: 3; padding-left: 10px; border-left: 1px solid var(--sh-line); }
}
.sh-lang .on, .sh-acc-btn, .sh-drawer-search button, .sh-drawer-langs a.active { background: var(--jd-red); }
.sh-acc-btn { box-shadow: 0 0 0 2px var(--sh-bg), 0 0 0 4px var(--jd-red); }

/* ---------------- header: charcoal category bar ---------------- */
.sh-nav { background: var(--jd-ink); border-bottom: 0; box-shadow: 0 4px 14px rgba(0, 0, 0, .12); }
.sh-menu > li > a {
  color: #f1f1f1 !important;
  font-size: 17.5px; font-weight: 600;
  padding: 14px 15px 12px;
  border-bottom: 3px solid transparent;
}
.sh-menu > li > a:hover,
.sh-menu > li.active > a { color: #fff !important; border-bottom-color: var(--jd-red); background: rgba(255, 255, 255, .06); }
.sh-menu > li.sh-home > a { background: var(--jd-red); color: #fff !important; padding-left: 16px; padding-right: 16px; border-bottom-color: var(--jd-red-deep); }
.sh-menu > li.sh-home > a:hover { background: var(--jd-red-deep); }
.sh-sub { border: 0; border-top: 3px solid var(--jd-red); border-radius: 0 0 8px 8px; box-shadow: 0 14px 30px rgba(0, 0, 0, .16); }
.sh-sub a:hover { background: var(--jd-red-soft); color: var(--jd-red) !important; }
.sh-nav-tools .sh-icon { color: #fff !important; }
.sh-nav-tools .sh-icon:hover { background: rgba(255, 255, 255, .1); }
.sh-nav-tools .sh-lang { border-color: rgba(255, 255, 255, .25); }
.sh-nav-tools .sh-lang a { color: #cfd0d3 !important; }
.sh-nav-logo img { border-color: transparent; }
.sh-search { border-top: 0; background: var(--jd-ink-2); }
.sh-search-box { border: 0; border-radius: 8px; overflow: hidden; background: #fff; }
.sh-search-box input { color: #1e1f22; }
.sh-search-box .sh-search-go { border-left: 0; background: var(--jd-red); color: #fff !important; }
.sh-search-box button:hover { color: #fff; }
.sh-search-box .sh-search-close { color: #555; }
.sh-search-box .sh-search-close:hover { color: var(--jd-red); }
html[data-theme="dark"] .sh-search-box { background: #232428; }
html[data-theme="dark"] .sh-search-box input { color: #ececec; }

/* ---------------- trending bar ---------------- */
.tk-trend { background: var(--sh-bg); border-bottom: 1px solid var(--sh-line); }
.tk-trend-lbl { background: var(--jd-red); color: #fff !important; padding: 5px 12px 5px 10px; border-radius: 4px; font-size: 15px; }
.tk-trend .tk-trend-dot { background: #fff; width: 9px; height: 9px; box-shadow: 0 0 0 3px rgba(255, 255, 255, .3); animation: none; }
.tk-trend-tabs button.on { color: var(--jd-red); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.tk-trend-set a { position: relative; }
.tk-trend-set a + a::before { content: ""; position: absolute; left: -14px; top: 50%; width: 5px; height: 5px; margin-top: -2px; border-radius: 50%; background: var(--jd-blue); }

/* ---------------- homepage ---------------- */
.tk-home { --tk-alt-bg: #f5f6f8; --tk-line: #e4e6ea; --tk-radius: 4px; }
html[data-theme="dark"] .tk-home { --tk-alt-bg: #17181b; --tk-line: #2c2e33; }
.tk-thumb, .tk-lead .tk-thumb, .tk-video .tk-thumb, .tk-photo .tk-thumb { border-radius: 4px; }
.tk-photo-cap { border-radius: 0 0 4px 4px; }
.tk-lead .tk-thumb { box-shadow: none; }
.tk-card:hover { transform: none; }
.tk-card:hover .tk-card-title a, .jd-mini:hover .tk-card-title a { color: var(--jd-red); }
.tk-section { padding: 28px 0; }
.tk-top { padding-top: 22px; }

/* section heading: red bar + title, then the logo's slash rule */
.tk-head { gap: 14px; margin-bottom: 20px; align-items: center; }
.tk-head h2 { font-size: 23px; font-weight: 800; padding: 0 0 0 13px; color: var(--jd-ink); }
html[data-theme="dark"] .tk-head h2 { color: #f1f1f1; }
.tk-head h2::before { display: block; content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: 5px; height: auto; margin: 0; border-radius: 0; background: var(--jd-red); box-shadow: none; }
.tk-head h2::after { display: none; }
.tk-head::after {
  align-self: center; height: 3px;
  background: linear-gradient(90deg, var(--jd-red) 0 34px, transparent 34px 40px, var(--jd-grey) 40px 48px, transparent 48px 54px, var(--tk-line) 54px);
}
.tk-more { border-radius: 4px; border-color: var(--tk-line); font-weight: 600; }
.tk-more:hover { background: var(--jd-red); border-color: var(--jd-red); }

/* lead: image beside the text on wide screens */
.jd-lead { display: grid; grid-template-columns: 7fr 5fr; gap: 24px; align-items: center; }
.jd-lead .tk-lead-body { padding: 0; }
.jd-lead .tk-lead-title { font-size: 30px; line-height: 1.35; }
.jd-lead .tk-summary { -webkit-line-clamp: 4; line-clamp: 4; }
.tk-kicker { border-radius: 3px; background: var(--jd-red); padding: 3px 10px; }

/* two compact stories under the lead */
.jd-sub { margin-top: 22px; }
.jd-sub > div { margin-bottom: 0; }
.jd-mini { display: grid; grid-template-columns: 42% 1fr; gap: 14px; align-items: start; padding-top: 18px; border-top: 1px solid var(--tk-line); }
.jd-mini .tk-card-cat { margin-top: 0; }
.jd-mini .tk-card-title { font-size: 16.5px; }
.tk-card-cat { color: var(--jd-red); }

/* latest / popular */
.tk-tabs { border-radius: 6px; border-color: var(--tk-line); box-shadow: none; border-top: 3px solid var(--jd-red); }
.tk-tab-head { background: var(--tk-bg); padding: 0; gap: 0; border-bottom: 1px solid var(--tk-line); }
.tk-tab-head button { border-radius: 0; padding: 12px 6px 10px; border-bottom: 3px solid transparent; font-size: 16px; color: var(--tk-muted); }
.tk-tab-head button.active { box-shadow: none; color: var(--jd-ink); border-bottom: 3px solid var(--jd-red); }
html[data-theme="dark"] .tk-tab-head button.active { color: #fff; }
.jd-live { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: var(--jd-red); vertical-align: 2px; animation: jdLive 1.4s ease-in-out infinite; }
@keyframes jdLive { 0%, 100% { box-shadow: 0 0 0 0 rgba(215, 20, 26, .45); } 50% { box-shadow: 0 0 0 5px rgba(215, 20, 26, 0); } }
@media (prefers-reduced-motion: reduce) { .jd-live { animation: none; } }
.tk-feed li::before { border-radius: 0; width: 6px; height: 6px; background: var(--jd-blue); transform: rotate(45deg); }
.tk-feed .tk-feed-cat { color: var(--jd-red); }
.tk-rank-no { border-radius: 4px; background: transparent; border: 1.5px solid var(--jd-blue); color: var(--jd-blue); font-size: 14px; width: 28px; height: 28px; min-width: 28px; }
.tk-rank li:nth-child(-n+3) .tk-rank-no { background: var(--jd-red); border-color: var(--jd-red); color: #fff; }
html[data-theme="dark"] .tk-rank-no { border-color: #6c9be0; color: #9cbcf0; }

.tk-row-4 { border-top: 0; padding-top: 6px; }
.tk-row-4 .tk-card { padding-top: 14px; border-top: 3px solid var(--jd-ink); }
html[data-theme="dark"] .tk-row-4 .tk-card { border-top-color: #3a3c41; }
.tk-row-4 .tk-col:first-child .tk-card { border-top-color: var(--jd-red); }

.tk-inline-list li::before { background: var(--jd-blue); transform: rotate(45deg); }

/* video band in the globe's deep blue */
.tk-video { background: linear-gradient(135deg, var(--jd-blue-deep), #071a36) !important; }
.tk-video .tk-head h2 { color: #fff; }
.tk-video .tk-head::after { background: linear-gradient(90deg, var(--jd-red) 0 34px, transparent 34px 40px, rgba(255,255,255,.5) 40px 48px, transparent 48px 54px, rgba(255,255,255,.18) 54px); }
.tk-video .tk-more { background: transparent; color: #fff !important; border-color: rgba(255, 255, 255, .3); }
.tk-play-lg { background: var(--jd-red); box-shadow: 0 0 0 8px rgba(215, 20, 26, .25); }

.tk-widget-head { background: var(--jd-ink); }
.tk-btn { background: var(--jd-red); border-color: var(--jd-red); }
.tk-btn-ghost { background: transparent; color: var(--jd-red); }

/* ---------------- top slider ---------------- */
.jd-slider { position: relative; border-radius: 6px; overflow: hidden; background: var(--jd-ink); }
.jd-slides {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  scrollbar-width: none; -webkit-overflow-scrolling: touch; outline: none;
}
.jd-slides::-webkit-scrollbar { display: none; }
.jd-slide { position: relative; flex: 0 0 100%; scroll-snap-align: start; aspect-ratio: 16 / 9; min-height: 260px; }
.jd-slide-img { position: absolute; inset: 0; display: block; }
.jd-slide-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jd-slide-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 62%, rgba(0,0,0,.9) 100%); }
.jd-slide-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 28px 44px; color: #fff; pointer-events: none; }
.jd-slide-cap a { pointer-events: auto; }
.jd-slide-cap .tk-kicker { margin-bottom: 10px; }
.jd-slide-title { margin: 0; font-size: 30px; line-height: 1.35; font-weight: 800; text-shadow: 0 2px 8px rgba(0,0,0,.4); }
.tk-home .jd-slide-title a { color: #fff !important; }
.tk-home .jd-slide-title a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 5px; }
.jd-slide-time { display: inline-block; margin-top: 8px; font-size: 13.5px; color: rgba(255,255,255,.85); }
.jd-sl-btn {
  position: absolute; top: 42%; transform: translateY(-50%); z-index: 2;
  width: 44px; height: 44px; border: 0; border-radius: 50%;
  background: rgba(0,0,0,.45); color: #fff; font-size: 26px; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center; transition: background .15s ease, opacity .15s ease;
}
.jd-sl-btn:hover, .jd-sl-btn:focus-visible { background: var(--jd-red); outline: none; }
.jd-sl-prev { left: 14px; }
.jd-sl-next { right: 14px; }
.jd-sl-dots { position: absolute; left: 0; right: 0; bottom: 16px; z-index: 2; display: flex; justify-content: center; gap: 7px; }
.jd-sl-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 5px; background: rgba(255,255,255,.55); cursor: pointer; transition: width .2s ease, background .2s ease; }
.jd-sl-dots button.on { width: 26px; background: var(--jd-red); }
@media (hover: hover) { .jd-sl-btn { opacity: 0; } .jd-slider:hover .jd-sl-btn, .jd-sl-btn:focus-visible { opacity: 1; } }
@media (max-width: 767px) {
  .jd-slide { aspect-ratio: 4 / 3; min-height: 230px; }
  .jd-slide-cap { padding: 16px 16px 38px; }
  .jd-slide-title { font-size: 20px; }
  .jd-sl-btn { width: 36px; height: 36px; font-size: 22px; }
  .jd-sl-prev { left: 8px; } .jd-sl-next { right: 8px; }
}

/* ---------------- first category section (lead Â· list Â· sidebar) ---------------- */
.jd-cb-head { border-bottom: 1px solid var(--jd-ink); margin-bottom: 16px; padding-bottom: 8px; }
html[data-theme="dark"] .jd-cb-head { border-bottom-color: #3a3c41; }
.jd-cb-head h2 { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.2; padding-left: 12px; border-left: 4px solid var(--jd-red); }
.jd-cb-head h2 a { color: var(--jd-ink) !important; }
html[data-theme="dark"] .jd-cb-head h2 a { color: #f1f1f1 !important; }
.jd-cb-head h2 a:hover { color: var(--jd-red) !important; }
.jd-cb-title { font-size: 24px; line-height: 1.45; font-weight: 700; margin: 14px 0 0 !important; }
.jd-cb-lead .tk-summary { -webkit-line-clamp: 3; line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.jd-cb-list { border-left: 1px solid var(--tk-line); }
.jd-cb-item { display: grid; grid-template-columns: 1fr 48%; gap: 14px; align-items: start; padding: 0 0 14px; margin-bottom: 14px; border-bottom: 1px solid var(--tk-line); }
.jd-cb-item:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.jd-cb-item h4 { margin: 0; font-size: 17.5px; line-height: 1.55; font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.jd-cb-item h4 a:hover, .jd-cb-title a:hover { color: var(--jd-red) !important; }

.jd-side { border-left: 1px solid var(--tk-line); padding-left: 16px; height: 100%; }
.jd-side-tabs { display: flex; border-bottom: 1px solid var(--tk-line); margin-bottom: 4px; }
.jd-side-tabs button {
  flex: 1; border: 0; background: transparent; padding: 10px 6px 9px;
  font-size: 19px; font-weight: 600; color: var(--tk-muted); cursor: pointer; font-family: inherit;
  border-bottom: 3px solid transparent; margin-bottom: -1px;
}
.jd-side-tabs button.active { color: var(--jd-ink); background: var(--tk-alt-bg); border-bottom-color: var(--jd-red); }
html[data-theme="dark"] .jd-side-tabs button.active { color: #fff; }
.jd-side-list { list-style: none; margin: 0; padding: 0; max-height: none; overflow: visible; }
.jd-side-list li { border-bottom: 1px solid var(--tk-line); }
.jd-side-list li:last-child { border-bottom: 0; }
.jd-side-list a { display: grid; grid-template-columns: 1fr 42%; gap: 12px; align-items: center; padding: 12px 0; }
.jd-side-list span { font-size: 16.5px; line-height: 1.5; font-weight: 500; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.jd-side-list a:hover span { color: var(--jd-red); }
.jd-side-list img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 3px; background: var(--tk-line); }
.jd-side-list .jd-more-item { display: none; }
.jd-open .jd-side-list .jd-more-item { display: block; }
.jd-side-none { padding: 14px 0; color: var(--tk-muted); }
.jd-side-more {
  display: block; width: 100%; margin-top: 10px; padding: 11px; border: 0; border-radius: 3px;
  background: var(--jd-ink); color: #fff; font-size: 17px; font-weight: 600; cursor: pointer; font-family: inherit;
}
.jd-side-more:hover { background: var(--jd-red); }
html[data-theme="dark"] .jd-side-more { background: #2b2d31; }
@media (max-width: 991px) {
  .jd-side { border-left: 0; padding-left: 0; }
}
@media (max-width: 767px) {
  .jd-cb-list { border-left: 0; margin-top: 18px; }
  .jd-cb-title { font-size: 20px; }
  .jd-cb-item h4 { font-size: 16px; }
  .jd-cb-head h2 { font-size: 22px; }
}

/* ---------------- category sections (à¦¸à¦¾à¦°à¦¾à¦¦à§‡à¦¶ Â· à¦–à§‡à¦²à¦¾ Â· à¦†à¦¨à§à¦¤à¦°à§à¦œà¦¾à¦¤à¦¿à¦• Â· à¦¬à¦¿à¦¨à§‹à¦¦à¦¨ layouts) ---------------- */
.jd-sec { padding: 26px 0 8px; }
.jd-sec > .container { padding-bottom: 22px; border-bottom: 1px solid var(--tk-line); }
.jd-cols > .jd-col { margin-bottom: 18px; }
@media (min-width: 992px) {
  .jd-cols > .jd-col + .jd-col { border-left: 1px solid var(--tk-line); }
}
.jd-cb-item-sm { grid-template-columns: 1fr 34%; }
.jd-cb-item-sm h4 { font-size: 16.5px; -webkit-line-clamp: 3; line-clamp: 3; }

/* à¦¸à¦¾à¦°à¦¾à¦¦à§‡à¦¶: wide lead, photo left Â· text right */
.jd-cb-lead-wide { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; align-items: start; padding-bottom: 18px; border-bottom: 1px solid var(--tk-line); }
.jd-cb-lead-wide .jd-cb-title { margin-top: 0 !important; font-size: 25px; }
@media (min-width: 992px) { .jd-cb-lead-wide { grid-template-columns: 37% 1fr; } .jd-cb-lead-wide .jd-cb-lead-body { max-width: 560px; } }
.jd-cards { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 16px; }
.jd-card { padding: 0 16px; }
.jd-card:first-child { padding-left: 0; }
.jd-card:last-child { padding-right: 0; }
.jd-card + .jd-card { border-left: 1px solid var(--tk-line); }
.jd-card h4 { margin: 12px 0 0; font-size: 17px; line-height: 1.55; font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.jd-card h4 a:hover { color: var(--jd-red) !important; }

/* à¦¸à¦¾à¦°à¦¾à¦¦à§‡à¦¶ area filter */
.jd-area { display: grid; grid-template-columns: repeat(3, 1fr) minmax(160px, 1fr); gap: 14px; margin-bottom: 18px; }
.jd-area select {
  height: 48px; padding: 0 36px 0 14px; border: 1px solid var(--tk-line); border-radius: 4px;
  background: var(--tk-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23555' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance: none; appearance: none; color: var(--tk-text); font-size: 15.5px; font-family: inherit; box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.jd-area select:disabled { opacity: .6; }
.jd-area select:focus { outline: 2px solid var(--jd-red); outline-offset: 1px; }
.jd-area button { height: 48px; border: 0; border-radius: 4px; background: var(--jd-ink); color: #fff; font-size: 17px; font-weight: 700; cursor: pointer; font-family: inherit; }
.jd-area button:hover { background: var(--jd-red); }
html[data-theme="dark"] .jd-area button { background: #2b2d31; }

@media (max-width: 991px) {
  .jd-area { grid-template-columns: 1fr 1fr; }
  .jd-cards { grid-template-columns: 1fr 1fr; row-gap: 18px; }
  .jd-card { padding: 0 8px !important; border-left: 0 !important; }
}
@media (max-width: 767px) {
  .jd-cb-lead-wide { grid-template-columns: 1fr; }
  .jd-cb-lead-wide .jd-cb-title { margin-top: 12px !important; font-size: 20px; }
  .jd-area { grid-template-columns: 1fr; gap: 10px; }
  .jd-card h4 { font-size: 15px; }
}

/* =====================================================================
   NEWS LISTING PAGES (category Â· sub-category Â· area Â· tag Â· date Â· search Â· details sidebar)
   â€” same look as the homepage sections
   ===================================================================== */
.np {
  --np-ac: var(--jd-red);
  --tk-bg: #ffffff; --tk-alt-bg: #f5f6f8; --tk-text: #1b1b1b; --tk-muted: #6b6f76; --tk-line: #e4e6ea;
}
html[data-theme="dark"] .np { --tk-bg: #121212; --tk-alt-bg: #17181b; --tk-text: #e8e8e8; --tk-muted: #9a9a9a; --tk-line: #2c2e33; }
.np a { text-decoration: none; }
/* shared thumbnail box (also defined for the homepage) */
.np .tk-thumb { display: block; position: relative; overflow: hidden; border-radius: 4px; background: var(--tk-line); }
.np .tk-ratio { padding-top: 56.25%; }
.np .tk-ratio img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.np .tk-thumb:hover img { transform: scale(1.04); }
.np .tk-tab-pane { display: none; }
.np .tk-tab-pane.active { display: block; }

/* page heading: red bar Â· title Â· rule */
.np-head { margin: 22px 0 20px; }
.np-crumb { font-size: 13.5px; margin-bottom: 10px; }
.np-crumb a:hover { color: var(--jd-red) !important; }
.np-head h1 { display: block; font-size: 28px; font-weight: 700; padding-left: 13px; border-left: 5px solid var(--jd-red); line-height: 1.25; color: var(--jd-ink); }
html[data-theme="dark"] .np-head h1 { color: #f1f1f1; }
.np-head h1 .dot { display: none; }
.np-head-line { height: 1px; margin-top: 12px; background: var(--jd-ink); border-radius: 0; }
html[data-theme="dark"] .np-head-line { background: #3a3c41; }
.np-head .np-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.np-head .np-tags a {
  display: inline-block; padding: 5px 14px; border: 1px solid var(--tk-line); border-radius: 999px;
  font-size: 14.5px; font-weight: 600; color: var(--tk-text) !important; background: var(--tk-bg);
}
.np-head .np-tags a:hover { background: var(--jd-red); border-color: var(--jd-red); color: #fff !important; }

/* page 1: lead + three headlines */
.jd-np-top { display: grid; grid-template-columns: 1.35fr 1fr; gap: 0; padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid var(--tk-line); }
.jd-np-lead { padding-right: 20px; }
.jd-np-lead h2 { margin: 14px 0 0; font-size: 26px; line-height: 1.42; font-weight: 700; }
.jd-np-lead h2 a { color: var(--tk-text) !important; }
.jd-np-lead p { margin: 8px 0 0; font-size: 15.5px; line-height: 1.7; color: var(--tk-muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.jd-np-side { padding-left: 20px; border-left: 1px solid var(--tk-line); }
.jd-np-side .jd-cb-item { grid-template-columns: 1fr 42%; }
.jd-np-side .jd-cb-item h4 { font-size: 17px; -webkit-line-clamp: 3; line-clamp: 3; }
.jd-np-side .jd-cb-item h4 a, .jd-np-card h3 a { color: var(--tk-text) !important; }
.jd-np-lead h2 a:hover, .jd-np-side h4 a:hover, .jd-np-card h3 a:hover { color: var(--jd-red) !important; }
.jd-np-cat { display: inline-block; margin-top: 10px; font-size: 12.5px; font-weight: 700; color: var(--jd-red); }
.jd-np-side .jd-np-cat { margin: 0 0 3px; }
.jd-np-time { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-size: 13px; color: var(--tk-muted); }

/* card grid */
.jd-np-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 22px; }
.jd-np-card h3 { margin: 10px 0 0; font-size: 17.5px; line-height: 1.5; font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.jd-np-card .jd-np-cat + h3 { margin-top: 2px; }

/* sidebar */
.jd-np-aside .jd-side-box { border: 1px solid var(--tk-line); border-top: 3px solid var(--jd-red); border-radius: 4px; padding: 0 14px 14px; margin-bottom: 22px; background: var(--tk-bg); }
.jd-np-aside .jd-side-tabs { margin: 0 -14px 4px; }
.jd-np-aside .jd-side-tabs button { font-size: 17px; }
.jd-np-aside .jd-side-list span { font-size: 15.5px; color: var(--tk-text); }
.np-box { border-radius: 4px; border-color: var(--tk-line); }
.np-box-title::before { background: var(--jd-red); border-radius: 0; }

/* area filter (à¦¸à¦¾à¦°à¦¾à¦¦à§‡à¦¶ pages) */
.np-loc { border-radius: 4px !important; border-color: var(--tk-line) !important; background: var(--tk-alt-bg) !important; padding: 12px !important; gap: 10px !important; }
.np-loc select { height: 44px !important; border-radius: 4px !important; border-color: var(--tk-line) !important; }
.np-loc-ic { color: var(--jd-red) !important; }

/* page numbers */
.np-pager a, .np-pager span { border-radius: 4px; }
.np-pager a:hover, .np-pager .active span { background: var(--jd-red); }
.np-pager .np-more a { background: var(--jd-ink); border-color: var(--jd-ink); color: #fff; }
.np-pager .np-more a:hover { background: var(--jd-red); border-color: var(--jd-red); }

@media (max-width: 991px) {
  .jd-np-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .jd-np-top { grid-template-columns: 1fr; }
  .jd-np-lead { padding-right: 0; }
  .jd-np-lead h2 { font-size: 21px; }
  .jd-np-side { padding-left: 0; border-left: 0; margin-top: 18px; }
  .np-head h1 { font-size: 23px; }
}
@media (max-width: 480px) {
  .jd-np-grid { grid-template-columns: 1fr 1fr; gap: 18px 12px; }
  .jd-np-card h3 { font-size: 15px; }
}

/* ---------------- top area: smaller slider Â· 2 beside Â· 3 below ---------------- */
.jd-top { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 18px; }
.jd-top .jd-slide { aspect-ratio: 16 / 10; min-height: 220px; }
.jd-top .jd-slide-title { font-size: 24px; }
.jd-top .jd-slide-cap { padding: 18px 20px 38px; }
.jd-top-side { display: flex; flex-direction: column; gap: 14px; }
.jd-top-side .jd-tcard + .jd-tcard { padding-top: 14px; border-top: 1px solid var(--tk-line); }
.jd-tcard h3 { margin: 8px 0 0; font-size: 17px; line-height: 1.5; font-weight: 700; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.jd-tcard .tk-card-cat { margin-top: 8px; }
.jd-tcard .tk-card-cat + h3 { margin-top: 2px; }
.jd-tcard h3 a:hover { color: var(--jd-red) !important; }
.jd-top-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--tk-line); }
.jd-top-row .jd-tcard { padding: 0 16px; }
.jd-top-row .jd-tcard:first-child { padding-left: 0; }
.jd-top-row .jd-tcard:last-child { padding-right: 0; }
.jd-top-row .jd-tcard + .jd-tcard { border-left: 1px solid var(--tk-line); }
.jd-top-row .jd-tcard h3 { -webkit-line-clamp: 3; line-clamp: 3; }
.jd-slider-one .jd-slides { overflow: hidden; }
.jd-top-main:only-child { grid-column: 1 / -1; }

/* wider screens: slider and the two stories beside it share one fixed height, so both columns end together */
@media (min-width: 768px) {
  .jd-top { height: 400px; align-items: stretch; }
  .jd-top-main, .jd-top-main .jd-slider, .jd-top-main .jd-slides { height: 100%; }
  .jd-top .jd-slide { aspect-ratio: auto; height: 100%; min-height: 0; }
  .jd-top-side { display: grid; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; min-height: 0; }
  .jd-top-side .jd-tcard { display: flex; flex-direction: column; min-height: 0; }
  .jd-top-side .jd-tcard .tk-thumb.tk-ratio { flex: 1 1 auto; min-height: 90px; padding-top: 0; }
  .jd-top-side .jd-tcard h3 { flex: 0 0 auto; font-size: 16.5px; -webkit-line-clamp: 2; line-clamp: 2; }
  .jd-top-side .jd-tcard .tk-card-cat { flex: 0 0 auto; margin-top: 7px; }
  .jd-top-side .jd-tcard + .jd-tcard { padding-top: 14px; }
}
@media (min-width: 1200px) { .jd-top { height: 440px; } }
@media (min-width: 768px) and (max-width: 991px) { .jd-top { height: 360px; } }
@media (max-width: 767px) {
  .jd-top { grid-template-columns: 1fr; }
  .jd-top-side { flex-direction: row; gap: 12px; }
  .jd-top-side .jd-tcard { flex: 1 1 0; min-width: 0; }
  .jd-top-side .jd-tcard + .jd-tcard { padding-top: 0; border-top: 0; }
  .jd-top .jd-slide-title { font-size: 19px; }
  .jd-top-row { grid-template-columns: 1fr 1fr; row-gap: 16px; }
  .jd-top-row .jd-tcard { padding: 0 6px !important; border-left: 0 !important; }
  .jd-top-row .jd-tcard:nth-child(3) { grid-column: 1 / -1; }
  .jd-tcard h3 { font-size: 15.5px; }
}

/* the top-area à¦¸à¦°à§à¦¬à¦¶à§‡à¦· / à¦œà¦¨à¦ªà§à¦°à¦¿à¦¯à¦¼ box */
.jd-side-top { border: 1px solid var(--tk-line); border-top: 3px solid var(--jd-red); border-radius: 4px; padding: 0 14px 14px; background: var(--tk-bg); height: auto; }
.jd-side-top .jd-side-tabs { margin: 0 -14px 4px; }
.jd-side-top .jd-side-tabs button { font-size: 17.5px; }
.jd-side-top .jd-side-list span { font-size: 15.5px; }
.jd-side-top .jd-side-list a { padding: 10px 0; }
.jd-side-top .jd-live { margin-right: 6px; }
.tk-home .jd-side .tk-tab-pane { padding: 0; max-height: none; overflow: visible; }

/* ---------------- homepage polish ---------------- */
/* breaking ticker */
.jd-breaking { background: var(--tk-bg, #fff); border-bottom: 1px solid var(--sh-line, #e9e9e9); }
html[data-theme="dark"] .jd-breaking { background: #151517; }
.jd-br-in { display: flex; align-items: stretch; min-height: 44px; overflow: hidden; }
.jd-br-lbl {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 2px; padding: 0 16px 0 12px; margin: 7px 14px 7px 0;
  background: var(--jd-red); color: #fff; font-weight: 700; font-size: 15.5px; border-radius: 3px; position: relative;
}
.jd-br-lbl .jd-live { background: #fff; }
.jd-br-track { flex: 1 1 auto; min-width: 0; overflow: hidden; position: relative; display: flex; align-items: center;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%); }
.jd-br-move { display: flex; width: max-content; animation: jdTicker var(--jd-br-dur, 40s) linear infinite; }
.jd-br-track:hover .jd-br-move, .jd-br-track:focus-within .jd-br-move { animation-play-state: paused; }
.jd-br-set { display: flex; align-items: center; }
.jd-br-set a { position: relative; padding: 0 22px 0 18px; white-space: nowrap; font-size: 16px; font-weight: 600; color: var(--sh-text, #1d1d1f) !important; text-decoration: none !important; }
.jd-br-set a::before { content: ""; position: absolute; left: 0; top: 50%; width: 7px; height: 7px; margin-top: -3px; background: var(--jd-red); transform: rotate(45deg); }
.jd-br-set a:hover { color: var(--jd-red) !important; }
@keyframes jdTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .jd-br-move { animation: none; }
  .jd-br-track { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .jd-br-set[aria-hidden] { display: none; }
}
@media (max-width: 767px) { .jd-br-lbl { font-size: 14px; padding: 0 10px; margin-right: 10px; } .jd-br-set a { font-size: 14.5px; } }

/* every section heading: red bar Â· title Â· "à¦¸à¦¬ à¦–à¦¬à¦° â€º" Â· rule */
.jd-cb-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.jd-cb-head h2 { flex: 0 1 auto; min-width: 0; }
.jd-cb-head h2 .fa { color: var(--jd-red); margin-right: 4px; font-size: .85em; }
.jd-cb-more { flex: 0 0 auto; font-size: 14.5px; font-weight: 600; color: var(--tk-muted, #6b6f76) !important; padding-bottom: 2px; white-space: nowrap; }
.jd-cb-more .fa { margin-left: 3px; transition: transform .15s ease; }
.jd-cb-more:hover { color: var(--jd-red) !important; }
.jd-cb-more:hover .fa { transform: translateX(3px); }
.jd-cb-head-light { border-bottom-color: rgba(255,255,255,.25); }
.jd-cb-head-light h2 a, .jd-cb-head-light .jd-cb-more { color: #fff !important; }
.jd-cb-head-light h2 .fa { color: #fff; }

/* video band + photos in the same frame as the news sections */
.tk-video { padding: 30px 0 18px; margin: 10px 0; }
.tk-video-main h3 { font-size: 22px; font-weight: 700; }
.tk-video-small h4 { font-size: 15.5px; font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.jd-photos .tk-photo-cap { font-size: 15.5px; }

/* calmer rhythm between sections; the last one has no rule under it */
.tk-top { padding-bottom: 8px; }
.tk-top > .container { padding-bottom: 24px; border-bottom: 1px solid var(--tk-line); }
.jd-sec:last-of-type > .container { border-bottom: 0; }
.tk-top .tk-col { margin-bottom: 0; }
.jd-cb-lead .tk-thumb, .jd-tcard .tk-thumb, .jd-cb-item .tk-thumb, .jd-card .tk-thumb { border-radius: 4px; }
.jd-cb-lead .tk-thumb img, .jd-tcard .tk-thumb img, .jd-cb-item .tk-thumb img, .jd-card .tk-thumb img { transition: transform .4s ease; }
.jd-cb-lead:hover .tk-thumb img, .jd-tcard:hover .tk-thumb img, .jd-cb-item:hover .tk-thumb img, .jd-card:hover .tk-thumb img { transform: scale(1.04); }
.jd-cb-lead:hover .jd-cb-title a, .jd-tcard:hover h3 a, .jd-cb-item:hover h4 a, .jd-card:hover h4 a { color: var(--jd-red) !important; }
@media (max-width: 991px) { .tk-top .tk-col + .tk-col { margin-top: 22px; } }

/* ---------------- category page v2: hero (text Â· photo) + two-column list + "à¦†à¦°à¦“ à¦¦à§‡à¦–à§à¦¨" ---------------- */
/* sub-categories as plain links with separators */
.np-head .np-tags { gap: 0; margin-top: 10px !important; }
.np-head .np-tags a { padding: 0 12px; border: 0; border-left: 1px solid var(--tk-line); border-radius: 0; background: transparent; font-size: 15px; font-weight: 600; color: var(--tk-text) !important; }
.np-head .np-tags a:first-child { padding-left: 0; border-left: 0; }
.np-head .np-tags a:hover { background: transparent; color: var(--jd-red) !important; }

.jd-np-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 22px; align-items: start; padding-bottom: 20px; margin-bottom: 4px; border-bottom: 1px solid var(--tk-line); }
.jd-np-hero h2 { margin: 0; font-size: 25px; line-height: 1.45; font-weight: 700; }
.jd-np-hero h2 a { color: var(--tk-text) !important; }
.jd-np-hero h2 a:hover { color: var(--jd-red) !important; }
.jd-np-hero p { margin: 10px 0 0; font-size: 15.5px; line-height: 1.75; color: var(--tk-muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.jd-np-hero .jd-np-cat { margin: 0 0 6px; }

.jd-np-rows { display: grid; grid-template-columns: 1fr 1fr; column-gap: 0; }
.jd-np-row { display: grid; grid-template-columns: minmax(0, 1fr) 42%; gap: 14px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--tk-line); }
.jd-np-row:nth-child(odd) { padding-right: 18px; border-right: 1px solid var(--tk-line); }
.jd-np-row:nth-child(even) { padding-left: 18px; }
.jd-np-row h3 { margin: 0; font-size: 17px; line-height: 1.55; font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.jd-np-row h3 a { color: var(--tk-text) !important; }
.jd-np-row:hover h3 a { color: var(--jd-red) !important; }
.jd-np-row .jd-np-cat { margin: 0 0 3px; }
.jd-np-row .tk-thumb img, .jd-np-hero .tk-thumb img { transition: transform .4s ease; }
.jd-np-row:hover .tk-thumb img, .jd-np-hero:hover .tk-thumb img { transform: scale(1.04); }

.jd-np-morewrap { text-align: center; margin: 22px 0 6px; }
.jd-np-more { display: inline-block; min-width: 160px; padding: 11px 26px; border-radius: 4px; background: var(--jd-ink); color: #fff !important; font-size: 16.5px; font-weight: 700; text-decoration: none !important; transition: background .15s; }
.jd-np-more:hover { background: var(--jd-red); }
.jd-np-more.busy { opacity: .7; pointer-events: none; }
html[data-theme="dark"] .jd-np-more { background: #2b2d31; }

@media (max-width: 767px) {
  .jd-np-hero { grid-template-columns: 1fr; }
  .jd-np-hero .tk-thumb { order: -1; }
  .jd-np-hero h2 { font-size: 21px; }
  .jd-np-rows { grid-template-columns: 1fr; }
  .jd-np-row:nth-child(odd), .jd-np-row:nth-child(even) { padding-left: 0; padding-right: 0; border-right: 0; }
  .jd-np-row h3 { font-size: 16px; }
}

/* à¦¸à¦¾à¦°à¦¾à¦¦à§‡à¦¶: area filter as a compact 2Ã—2 box in the sidebar */
.jd-area-box { margin: 20px 0 18px; padding-bottom: 16px; border-bottom: 1px solid var(--tk-line); }
.jd-area-compact { grid-template-columns: 1fr 1fr !important; gap: 10px !important; margin: 0 !important; }
.jd-area-compact select, .jd-area-compact button { height: 42px; font-size: 15px; }
.jd-area-compact button { font-size: 16px; }
.jd-loc-clear { display: inline-flex; align-items: center; gap: 6px; margin: -4px 0 14px; font-size: 14px; font-weight: 600; color: var(--jd-red) !important; text-decoration: none !important; }
.jd-loc-clear:hover { text-decoration: underline !important; }

/* =====================================================================
   NEWS STORY PAGE
   ===================================================================== */
.np-story .jd-d-crumb { margin: 18px 0 8px; gap: 10px; }
.np-story .jd-d-crumb .np-cat { color: var(--jd-red) !important; font-weight: 700; font-size: 15px; }
.np-story .jd-d-place { font-size: 13.5px; color: var(--tk-muted); }
.np-story .np-title { font-size: 34px; line-height: 1.38; font-weight: 800; color: var(--tk-text); margin: 0 0 16px; }

.jd-d-bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 18px;
  padding: 12px 0; margin-bottom: 18px; border-top: 1px solid var(--tk-line); border-bottom: 1px solid var(--tk-line); }
.jd-d-author { display: flex; align-items: center; gap: 10px; min-width: 0; }
.jd-d-pic { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; overflow: hidden; border: 1px solid var(--tk-line); background: #fff; }
.jd-d-pic img { width: 100%; height: 100%; object-fit: cover; }
.jd-d-who strong { display: block; font-size: 15.5px; font-weight: 700; color: var(--tk-text); line-height: 1.3; }
.jd-d-who strong a { color: inherit !important; }
.jd-d-who strong a:hover { color: var(--jd-red) !important; }
.jd-d-role { font-weight: 500; font-size: 13px; color: var(--tk-muted); margin-left: 6px; }
.jd-d-who small { display: block; font-size: 13px; color: var(--tk-muted); margin-top: 2px; }
.jd-d-tools { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.jd-d-tools > a, .jd-d-tools > button, .jd-d-tools .np-fs button {
  display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0;
  border: 1px solid var(--tk-line); border-radius: 4px; background: var(--tk-bg); color: var(--tk-text) !important;
  font-size: 15px; cursor: pointer; font-family: inherit; transition: background .15s, color .15s, border-color .15s;
}
.jd-d-tools .np-fs { display: inline-flex; gap: 6px; margin-left: 4px; }
.jd-d-tools .np-fs button { font-size: 14px; font-weight: 700; }
.jd-d-tools > a:hover, .jd-d-tools > button:hover, .jd-d-tools .np-fs button:hover { background: var(--jd-red); border-color: var(--jd-red); color: #fff !important; }
.jd-d-tools .fb:hover { background: #1877f2; border-color: #1877f2; }
.jd-d-tools .wa:hover { background: #25d366; border-color: #25d366; }

.np-story .np-figure { margin: 0 0 16px; }
.np-story .np-figure img { border-radius: 4px; width: 100%; }
.np-story .np-figure figcaption { font-size: 13.5px; color: var(--tk-muted); padding-top: 8px; }
.jd-d-lede { font-size: 19px; line-height: 1.75; font-weight: 700; color: var(--tk-text); margin: 0 0 16px; }

.np-story .np-tags { border-top: 1px solid var(--tk-line); padding-top: 14px; }
.np-story .np-tags a { border-radius: 3px; background: var(--tk-alt-bg); border: 1px solid var(--tk-line); color: var(--tk-text) !important; }
.np-story .np-tags a:hover { background: var(--jd-red); border-color: var(--jd-red); color: #fff !important; }

/* à¦œà¦¨à¦ªà§à¦°à¦¿à¦¯à¦¼ Â· à¦¸à¦°à§à¦¬à¦¶à§‡à¦· under the story */
.jd-d-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin: 28px 0 10px; padding-top: 18px; border-top: 3px solid var(--jd-ink); }
html[data-theme="dark"] .jd-d-lists { border-top-color: #3a3c41; }
.jd-d-lists section + section { border-left: 1px solid var(--tk-line); padding-left: 28px; }
.jd-d-lh { margin: 0 0 6px; font-size: 20px; font-weight: 700; color: var(--tk-text); padding-left: 10px; border-left: 4px solid var(--jd-red); line-height: 1.2; }
.jd-d-list { list-style: none; margin: 0; padding: 0; }
.jd-d-list li { border-bottom: 1px solid var(--tk-line); }
.jd-d-list li:last-child { border-bottom: 0; }
.jd-d-list a { display: grid; grid-template-columns: auto 1fr 96px; gap: 12px; align-items: center; padding: 12px 0; text-decoration: none !important; }
.jd-d-list ul a, ul.jd-d-list a { grid-template-columns: 1fr 96px; }
.jd-d-list .n { width: 28px; height: 28px; border-radius: 4px; background: var(--jd-ink); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }
.jd-d-list li:nth-child(-n+3) .n { background: var(--jd-red); }
.jd-d-list .t { font-size: 15.5px; line-height: 1.5; font-weight: 600; color: var(--tk-text); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.jd-d-list a:hover .t { color: var(--jd-red); }
.jd-d-list img { width: 96px; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 3px; background: var(--tk-line); }

/* à¦†à¦°à¦“ à¦ªà¦¡à¦¼à§à¦¨ (right side) */
.jd-d-side { position: sticky; top: 70px; }
.jd-d-more { margin-top: 18px; padding-top: 4px; border-top: 3px solid var(--jd-red); }
.jd-d-more .jd-d-lh { border-left: 0; padding-left: 0; margin: 10px 0 4px; font-size: 18px; }
.jd-d-more ul { list-style: none; margin: 0; padding: 0; }
.jd-d-more li { border-bottom: 1px solid var(--tk-line); }
.jd-d-more a { display: block; padding: 11px 0; font-size: 15.5px; line-height: 1.5; font-weight: 600; color: var(--tk-text) !important; text-decoration: none !important; }
.jd-d-more a:hover { color: var(--jd-red) !important; }

@media (max-width: 767px) {
  .np-story .np-title { font-size: 25px; }
  .jd-d-bar { flex-direction: column; align-items: flex-start; }
  .jd-d-lede { font-size: 17.5px; }
  .jd-d-lists { grid-template-columns: 1fr; }
  .jd-d-lists section + section { border-left: 0; padding-left: 0; margin-top: 18px; }
  .jd-d-side { position: static; }
}

/* a section that has no news yet */
.jd-empty {
  margin: 0; padding: 18px 20px; border: 1px dashed var(--tk-line, #e4e6ea); border-radius: 6px;
  color: var(--tk-muted, #757575); font-size: 15.5px; text-align: center;
}
.jd-empty .fa { color: var(--jd-red); margin-right: 6px; }
.jd-empty-lg { padding: 60px 20px; font-size: 18px; font-weight: 600; }

/* stories imported from RSS: source line with a link to the original */
.jd-rss-source {
  margin-top: 18px !important; padding: 10px 14px;
  border-left: 4px solid var(--jd-red); background: var(--jd-red-soft);
  font-size: 15px; border-radius: 0 4px 4px 0;
}
.jd-rss-source a { color: var(--jd-red) !important; font-weight: 700; text-decoration: none; }
.jd-rss-source a:hover { text-decoration: underline; }

@media (max-width: 991px) {
  .jd-lead .tk-lead-title { font-size: 25px; }
}
@media (max-width: 767px) {
  .jd-lead { grid-template-columns: 1fr; gap: 14px; }
  .jd-lead .tk-lead-title { font-size: 22px; }
  .jd-sub { margin-top: 6px; }
  .jd-sub > div + div .jd-mini { margin-top: 14px; }
  .jd-mini { grid-template-columns: 38% 1fr; gap: 12px; padding-top: 14px; }
  .jd-mini .tk-card-title { font-size: 15px; }
  .tk-head h2 { font-size: 20px; }
}


/* #####################################################################
   4. SUNDARBAN NEWS 24 BRAND (colours, fonts, finishing touches) - edit colours here
   ##################################################################### */

/* =====================================================================
   SUNDARBAN NEWS 24 â€” BRAND LAYER
   Colours from the logo: forest green "à¦¸à§à¦¨à§à¦¦à¦°à¦¬à¦¨", red "NEWS 24.COM".
   Loaded last (after jd-brand.css): remaps the shared colour variables,
   then adds the finishing touches for a calm, readable news site.
   ===================================================================== */
:root {
  --sn-green: #0a9a44;
  --sn-green-deep: #077a35;
  --sn-green-dark: #063d22;
  --sn-green-ink: #0b2a1a;
  --sn-green-soft: #e9f6ee;
  --sn-red: #e3141c;
  --sn-red-deep: #b70f16;
  --sn-red-soft: #fdeced;
  --sn-gold: #f2b705;
  --sn-radius: 8px;
  --sn-shadow: 0 1px 2px rgba(16, 40, 26, .06), 0 4px 14px rgba(16, 40, 26, .06);
  --sn-shadow-hover: 0 6px 22px rgba(16, 40, 26, .12);

  /* the old theme's variables now point at the Sundarban palette */
  --jd-red: var(--sn-green);
  --jd-red-deep: var(--sn-green-deep);
  --jd-red-soft: var(--sn-green-soft);
  --jd-blue: var(--sn-red);
  --jd-blue-deep: var(--sn-green-dark);
  --jd-ink: var(--sn-green-ink);
  --jd-ink-2: #133a25;
  --jd-grey: #9bb3a5;
  --tk-accent: var(--sn-green);
  --np-ac: var(--sn-green);
  /* thin brand rule: green Â· red Â· green (echoes the logo) */
  --jd-stripe: linear-gradient(90deg, var(--sn-green-deep) 0, var(--sn-green) 62%, var(--sn-red) 62%, var(--sn-red) 80%, var(--sn-green-dark) 80%);
}
html[data-theme="dark"] {
  --jd-ink: #08170f;
  --jd-ink-2: #0f2318;
  --jd-red-soft: #10291b;
  --sn-green-soft: #10291b;
  --sn-red-soft: #2e1012;
  --sn-shadow: 0 1px 2px rgba(0, 0, 0, .3);
  --sn-shadow-hover: 0 6px 22px rgba(0, 0, 0, .45);
}

/* ---------------- typography ---------------- */
body, button, input, select, textarea,
.tk-home, .np, .sh-menu, .sf {
  font-family: "Hind Siliguri", "Noto Sans Bengali", "SolaimanLipi", system-ui, sans-serif;
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.np-story .np-title, .jd-slide-title, .jd-cb-title, .jd-np-hero h2, .jd-np-lead h2, .tk-lead-title { letter-spacing: -.005em; }
.np-body { font-size: 18.5px; line-height: 1.9; }
a { transition: color .15s ease; }
::selection { background: var(--sn-green); color: #fff; }

/* ---------------- header ---------------- */
.sh-top::before { height: 4px; }
.sh-logo img { height: 82px; }
.sh-date .fa { color: var(--sn-green); }
.sh-lang .on, .sh-acc-btn, .sh-drawer-search button, .sh-drawer-langs a.active { background: var(--sn-green); }
.sh-acc-btn { box-shadow: 0 0 0 2px var(--sh-bg), 0 0 0 4px var(--sn-green); }

/* category bar: deep forest green, white text, red "home" tab */
.sh-nav {
  background: linear-gradient(180deg, var(--sn-green-deep) 0, #066c2f 100%);
  box-shadow: 0 6px 18px rgba(6, 61, 34, .22);
}
html[data-theme="dark"] .sh-nav { background: linear-gradient(180deg, #0b3a22, #082c19); }
.sh-menu > li > a { color: #fff !important; font-weight: 600; letter-spacing: .1px; }
.sh-menu > li > a:hover,
.sh-menu > li.active > a { background: rgba(255, 255, 255, .12); border-bottom-color: var(--sn-gold); }
.sh-menu > li.sh-home > a { background: var(--sn-red); border-bottom-color: var(--sn-red-deep); }
.sh-menu > li.sh-home > a:hover { background: var(--sn-red-deep); }
.sh-sub { border-top-color: var(--sn-green); border-radius: 0 0 var(--sn-radius) var(--sn-radius); }
.sh-sub a:hover { background: var(--sn-green-soft); color: var(--sn-green-deep) !important; }
.sh-nav-tools .sh-lang a { color: #e2efe7 !important; }
.sh-search { background: var(--sn-green-dark); }
.sh-search-box { border-radius: 999px; }
.sh-search-box .sh-search-go { background: var(--sn-red); }
.sh-search-box .sh-search-close:hover { color: var(--sn-red); }
.sh-drawer-head { border-bottom: 3px solid var(--sn-green); }

/* ---------------- breaking ticker & trending: red = urgent ---------------- */
.jd-br-lbl, .tk-trend-lbl { background: var(--sn-red); box-shadow: 0 2px 8px rgba(227, 20, 28, .25); }
.jd-br-lbl::after {
  content: ""; position: absolute; right: -7px; top: 50%; margin-top: -7px;
  border: 7px solid transparent; border-right: 0; border-left-color: var(--sn-red);
}
.jd-br-set a::before { background: var(--sn-green); }
.jd-br-set a:hover { color: var(--sn-green) !important; }
.jd-live { background: var(--sn-red); }
@keyframes jdLive { 0%, 100% { box-shadow: 0 0 0 0 rgba(227, 20, 28, .45); } 50% { box-shadow: 0 0 0 5px rgba(227, 20, 28, 0); } }
.tk-trend-tabs button.on { color: var(--sn-green); }
.tk-trend-set a + a::before { background: var(--sn-red); }

/* ---------------- section headings ---------------- */
.jd-cb-head { border-bottom: 2px solid var(--tk-line, #e4e6ea); position: relative; }
.jd-cb-head::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 72px; height: 2px; background: var(--sn-green); }
.jd-cb-head h2 { border-left-color: var(--sn-green); }
.jd-cb-head h2 a { color: var(--sn-green-ink) !important; }
html[data-theme="dark"] .jd-cb-head h2 a { color: #f1f1f1 !important; }
.jd-cb-head h2 a:hover, .jd-cb-more:hover { color: var(--sn-green) !important; }
.jd-cb-more {
  padding: 3px 12px; border-radius: 999px; background: var(--sn-green-soft);
  color: var(--sn-green-deep) !important; font-size: 13.5px; margin-bottom: 6px;
}
.jd-cb-more:hover { background: var(--sn-green); color: #fff !important; }
.jd-cb-head-light::after { background: var(--sn-gold); }
.tk-head h2::before { background: var(--sn-green); }
.tk-head::after { background: linear-gradient(90deg, var(--sn-green) 0 34px, transparent 34px 40px, var(--sn-red) 40px 48px, transparent 48px 54px, var(--tk-line) 54px); }

/* ---------------- cards & thumbnails ---------------- */
.tk-thumb, .jd-cb-lead .tk-thumb, .jd-tcard .tk-thumb, .jd-cb-item .tk-thumb, .jd-card .tk-thumb,
.np .tk-thumb, .jd-side-list img, .jd-d-list img { border-radius: var(--sn-radius); }
.tk-card-cat, .jd-np-cat, .tk-feed .tk-feed-cat { color: var(--sn-green); font-weight: 700; }
.tk-kicker { background: var(--sn-red); border-radius: 4px; }
.jd-cb-lead:hover .jd-cb-title a, .jd-tcard:hover h3 a, .jd-cb-item:hover h4 a, .jd-card:hover h4 a,
.jd-np-row:hover h3 a, .jd-np-hero h2 a:hover, .jd-side-list a:hover span, .jd-d-list a:hover .t,
.jd-d-more a:hover, .tk-card:hover .tk-card-title a { color: var(--sn-green) !important; }

/* top slider */
.jd-slider { border-radius: calc(var(--sn-radius) + 2px); box-shadow: var(--sn-shadow); }
.jd-slide-img::after { background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(4,30,16,.55) 60%, rgba(3,22,12,.92) 100%); }
.jd-sl-btn:hover, .jd-sl-btn:focus-visible { background: var(--sn-green); }
.jd-sl-dots button.on { background: var(--sn-red); }

/* side boxes: à¦¸à¦°à§à¦¬à¦¶à§‡à¦· / à¦œà¦¨à¦ªà§à¦°à¦¿à¦¯à¦¼ */
.jd-side-top, .jd-np-aside .jd-side-box, .tk-tabs {
  border-top: 3px solid var(--sn-green); border-radius: var(--sn-radius); box-shadow: var(--sn-shadow);
}
.jd-side-tabs button.active, .tk-tab-head button.active { color: var(--sn-green-deep); border-bottom-color: var(--sn-green); background: var(--sn-green-soft); }
html[data-theme="dark"] .jd-side-tabs button.active, html[data-theme="dark"] .tk-tab-head button.active { color: #fff; }
.jd-side-more, .jd-area button, .jd-np-more, .np-pager .np-more a { background: var(--sn-green); border-color: var(--sn-green); border-radius: 999px; }
.jd-side-more:hover, .jd-area button:hover, .jd-np-more:hover, .np-pager .np-more a:hover { background: var(--sn-green-deep); border-color: var(--sn-green-deep); }
.tk-rank-no { border-color: var(--sn-green); color: var(--sn-green); border-radius: 50%; }
.tk-rank li:nth-child(-n+3) .tk-rank-no, .jd-d-list li:nth-child(-n+3) .n { background: var(--sn-red); border-color: var(--sn-red); }
.jd-d-list .n { background: var(--sn-green-ink); border-radius: 50%; }

/* video band: deep mangrove green */
.tk-video { background: linear-gradient(135deg, var(--sn-green-dark), #031a0e) !important; }
.tk-play-lg { background: var(--sn-red); box-shadow: 0 0 0 8px rgba(227, 20, 28, .25); }

/* buttons, pills, forms */
.tk-btn { background: var(--sn-green); border-color: var(--sn-green); border-radius: 999px; }
.tk-btn:hover { background: var(--sn-green-deep); border-color: var(--sn-green-deep); }
.tk-btn-ghost { color: var(--sn-green); }
.tk-more { border-radius: 999px; }
.tk-more:hover { background: var(--sn-green); border-color: var(--sn-green); }
.jd-area select, .np-loc select { border-radius: var(--sn-radius) !important; }
.jd-area select:focus, input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible {
  outline: 2px solid var(--sn-green); outline-offset: 2px;
}
.np-loc-ic, .jd-loc-clear, .jd-empty .fa { color: var(--sn-green) !important; }

/* ---------------- listing pages ---------------- */
.np-head h1 { border-left-color: var(--sn-green); color: var(--sn-green-ink); }
html[data-theme="dark"] .np-head h1 { color: #f1f1f1; }
.np-head-line { height: 2px; background: linear-gradient(90deg, var(--sn-green) 0 72px, var(--tk-line, #e4e6ea) 72px); }
.np-head .np-tags a:hover, .np-crumb a:hover { color: var(--sn-green) !important; }
.np-pager a:hover, .np-pager .active span { background: var(--sn-green); border-color: var(--sn-green); }
.np-box-title::before { background: var(--sn-green); }

/* ---------------- story page ---------------- */
.np-story .jd-d-crumb .np-cat {
  display: inline-flex !important; align-items: center; width: auto !important; height: auto !important; min-width: 0 !important;
  padding: 4px 16px !important; border-radius: 999px !important; line-height: 1.5 !important;
  background: var(--sn-green) !important; color: #fff !important; font-size: 14.5px !important; font-weight: 700;
}
.np-story .jd-d-crumb .np-cat:hover { background: var(--sn-green-deep) !important; }
.np-story .np-title { color: var(--sn-green-ink); }
html[data-theme="dark"] .np-story .np-title { color: #f3f3f3; }
.np-story .np-figure img { border-radius: var(--sn-radius); }
.jd-d-lede { border-left: 4px solid var(--sn-green); padding-left: 14px; }
.jd-d-tools > a, .jd-d-tools > button, .jd-d-tools .np-fs button { border-radius: 50%; }
.jd-d-tools > a:hover, .jd-d-tools > button:hover, .jd-d-tools .np-fs button:hover { background: var(--sn-green); border-color: var(--sn-green); }
.jd-d-lists { border-top-color: var(--sn-green); }
.jd-d-lh { border-left-color: var(--sn-green); }
.jd-d-more { border-top-color: var(--sn-red); }
.np-story .np-tags a { border-radius: 999px; }
.np-story .np-tags a:hover { background: var(--sn-green); border-color: var(--sn-green); }
.jd-rss-source { border-left-color: var(--sn-green); background: var(--sn-green-soft); }
.jd-rss-source a { color: var(--sn-green-deep) !important; }

/* ---------------- footer: mangrove green ---------------- */
html .sf { --sf-bg: var(--sn-green-dark); --sf-muted: #b9d3c3; --sf-line: rgba(255, 255, 255, .14); background: linear-gradient(180deg, var(--sn-green-dark) 0, #042a17 100%); }
html[data-theme="dark"] .sf { --sf-bg: #04170c; background: #04170c; }
html .sf::before { height: 4px; }
html .sf-logo { border-radius: var(--sn-radius); box-shadow: 0 4px 14px rgba(0, 0, 0, .2); }
html .sf-social a { border-radius: 50%; background: rgba(255, 255, 255, .1); }
html .sf-social a:hover { background: var(--sn-red); border-color: var(--sn-red); }
html .sf-links a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
html .sf-top-btn:hover { background: var(--sn-red); border-color: var(--sn-red); }

/* ---------------- small screens ---------------- */
@media (max-width: 767px) {
  .sh-logo img { height: 60px; }
  .np-body { font-size: 17.5px; line-height: 1.85; }
  .jd-cb-more { font-size: 12.5px; padding: 2px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}


/* #####################################################################
   5. BACK-TO-TOP BUTTON (layouts/front.blade.php)
   ##################################################################### */
.sn-totop {
  position: fixed; right: 22px; bottom: 24px; z-index: 999;
  width: 50px; height: 50px; padding: 0; border: 0; border-radius: 50%;
  background: var(--sn-green); color: #fff; font-size: 18px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px rgba(6, 61, 34, .3);
  opacity: 0; visibility: hidden; transform: translateY(16px) scale(.9);
  transition: opacity .25s ease, transform .25s ease, visibility .25s, background .15s ease;
}
.sn-totop.show { opacity: 1; visibility: visible; transform: none; }
.sn-totop:hover { background: var(--sn-green-deep); }
.sn-totop:hover .sn-totop-arrow { transform: translateY(-2px); }
.sn-totop-arrow { position: relative; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.sn-totop:focus-visible { outline: 3px solid var(--sn-red); outline-offset: 3px; }
.sn-totop-ring { position: absolute; inset: -4px; width: calc(100% + 8px); height: calc(100% + 8px); transform: rotate(-90deg); pointer-events: none; }
.sn-totop-ring circle { fill: none; stroke-width: 3; }
.sn-totop-ring circle:first-child { stroke: rgba(10, 154, 68, .18); }
.sn-totop-bar { stroke: var(--sn-red); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset .1s linear; }
html[data-theme="dark"] .sn-totop { box-shadow: 0 6px 18px rgba(0, 0, 0, .5); }
@media (max-width: 767px) { .sn-totop { right: 14px; bottom: 76px; width: 44px; height: 44px; font-size: 16px; } }
@media print { .sn-totop { display: none; } }

/* #####################################################################
   6. SITEMAP PAGE (/sitemap - frontend/sitemap.blade.php)
   ##################################################################### */
.sn-smap { padding-bottom: 30px; }
.sn-smap-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.sn-smap-card { border: 1px solid var(--tk-line, #e4e6ea); border-top: 4px solid var(--c, var(--sn-green)); border-radius: var(--sn-radius); background: var(--tk-bg, #fff); padding: 14px 16px 12px; box-shadow: var(--sn-shadow); }
.sn-smap-card h2 { margin: 0 0 8px; font-size: 19px; font-weight: 700; }
.sn-smap-card h2 a { color: var(--sn-green-ink) !important; text-decoration: none !important; }
html[data-theme="dark"] .sn-smap-card h2 a, html[data-theme="dark"] .sn-smap-card h2 { color: #f1f1f1 !important; }
.sn-smap-card h2 a:hover { color: var(--sn-green) !important; }
.sn-smap-card ul { list-style: none; margin: 0; padding: 0; }
.sn-smap-card li { border-top: 1px dashed var(--tk-line, #e4e6ea); }
.sn-smap-card li a { display: block; padding: 7px 0 7px 16px; position: relative; font-size: 15.5px; color: var(--tk-text, #1b1b1b) !important; text-decoration: none !important; }
.sn-smap-card li a::before { content: ""; position: absolute; left: 2px; top: 50%; width: 6px; height: 6px; margin-top: -3px; border-radius: 50%; background: var(--c, var(--sn-green)); }
.sn-smap-card li a:hover { color: var(--sn-green) !important; }
.sn-smap-info { background: var(--sn-green-soft); }

/* #####################################################################
   7. GRADIENT & 3D FINISH (depth, light and motion on top of section 4)
   Remove this section to go back to the flat look.
   ##################################################################### */
:root {
  --sn-grad-green: linear-gradient(135deg, #14b956 0%, #0a9a44 45%, #066c2f 100%);
  --sn-grad-red: linear-gradient(135deg, #ff4b51 0%, #e3141c 50%, #a80d13 100%);
  --sn-grad-dark: linear-gradient(160deg, #0b4a2a 0%, #063d22 50%, #031d10 100%);
  --sn-3d: 0 1px 0 rgba(255,255,255,.35) inset, 0 -2px 0 rgba(0,0,0,.12) inset;
  --sn-lift: 0 2px 4px rgba(10, 40, 24, .06), 0 10px 24px -6px rgba(10, 40, 24, .18);
  --sn-lift-hover: 0 4px 8px rgba(10, 40, 24, .08), 0 22px 40px -10px rgba(10, 40, 24, .32);
}

/* header: soft light at the top, a raised menu bar */
.sh-top { background: linear-gradient(180deg, #ffffff 0%, #f3faf6 100%); }
html[data-theme="dark"] .sh-top { background: linear-gradient(180deg, #121614 0%, #0d1310 100%); }
.sh-nav {
  background: var(--sn-grad-green) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 -3px 0 rgba(0,0,0,.12) inset, 0 10px 24px -8px rgba(6, 61, 34, .55) !important;
}
html[data-theme="dark"] .sh-nav { background: linear-gradient(135deg, #0e5a31, #0a3f22 60%, #062a17) !important; }
.sh-menu > li > a { text-shadow: 0 1px 1px rgba(0,0,0,.25); }
.sh-menu > li.sh-home > a { background: var(--sn-grad-red) !important; box-shadow: var(--sn-3d); }
.sh-sub { box-shadow: 0 18px 40px -10px rgba(6,61,34,.35) !important; }
.sh-date { background: linear-gradient(180deg, #fff, #eef7f1) !important; box-shadow: 0 1px 2px rgba(0,0,0,.06), inset 0 1px 0 #fff; border: 1px solid #e1efe6; }
html[data-theme="dark"] .sh-date { background: #1b221e !important; border-color: #26302a; }

/* red = urgent: glossy labels */
.jd-br-lbl, .tk-trend-lbl, .tk-kicker { background: var(--sn-grad-red) !important; box-shadow: var(--sn-3d), 0 4px 10px rgba(227,20,28,.3) !important; }
.jd-br-lbl::after { border-left-color: #c91118 !important; }
.jd-breaking { background: linear-gradient(90deg, #fff 0%, #fbfefc 60%, #f2faf5 100%) !important; }
html[data-theme="dark"] .jd-breaking { background: #121614 !important; }

/* section headings: gradient title bar and a green→red underline */
.jd-cb-head h2 { border-left: 0 !important; position: relative; padding-left: 16px !important; }
.jd-cb-head h2::before { content: ""; position: absolute; left: 0; top: 8%; bottom: 8%; width: 6px; border-radius: 4px; background: linear-gradient(180deg, #14b956, #066c2f); box-shadow: 0 2px 6px rgba(10,154,68,.4); }
.jd-cb-head::after { width: 110px !important; height: 3px !important; bottom: -2px !important; border-radius: 3px; background: linear-gradient(90deg, var(--sn-green) 0 60%, var(--sn-red) 60% 100%) !important; }
.np-head h1 { border-left: 0 !important; position: relative; padding-left: 18px !important; }
.np-head h1::before { content: ""; position: absolute; left: 0; top: 6%; bottom: 6%; width: 6px; border-radius: 4px; background: linear-gradient(180deg, #14b956, #066c2f); }
.np-head-line { background: linear-gradient(90deg, var(--sn-green) 0 80px, var(--sn-red) 80px 110px, var(--tk-line, #e4e6ea) 110px) !important; height: 3px !important; border-radius: 3px; }
.jd-cb-more { background: linear-gradient(180deg, #f2fbf5, #e2f5ea) !important; box-shadow: inset 0 1px 0 #fff, 0 1px 2px rgba(10,154,68,.15); }
.jd-cb-more:hover { background: var(--sn-grad-green) !important; box-shadow: var(--sn-3d), 0 4px 10px rgba(10,154,68,.3); }

/* photos: raised, lift and zoom on hover */
.tk-thumb { box-shadow: var(--sn-lift); transition: box-shadow .3s ease, transform .3s ease; }
.jd-tcard:hover .tk-thumb, .jd-card:hover .tk-thumb, .jd-cb-lead:hover .tk-thumb, .jd-cb-item:hover .tk-thumb,
.jd-np-row:hover .tk-thumb, .jd-np-hero:hover .tk-thumb, .jd-np-card:hover .tk-thumb, .tk-card:hover .tk-thumb,
.tk-video-main:hover .tk-thumb, .tk-video-small:hover .tk-thumb { box-shadow: var(--sn-lift-hover); transform: translateY(-3px); }
.tk-thumb::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 40%); }
.jd-side-list img, .jd-d-list img { box-shadow: 0 3px 10px -3px rgba(10,40,24,.3); }

/* top slider: deep shadow, glass caption */
.jd-slider { box-shadow: 0 20px 40px -14px rgba(6,40,22,.5), 0 2px 6px rgba(0,0,0,.08) !important; }
.jd-slide-img::after { background: linear-gradient(180deg, rgba(0,0,0,0) 25%, rgba(3,40,20,.45) 55%, rgba(2,24,12,.94) 100%) !important; }
.jd-sl-btn { background: rgba(255,255,255,.18) !important; backdrop-filter: blur(6px); box-shadow: 0 4px 14px rgba(0,0,0,.3); border: 1px solid rgba(255,255,255,.25) !important; }
.jd-sl-btn:hover { background: var(--sn-grad-green) !important; }

/* side boxes: raised panels with a gradient cap */
.jd-side-top, .jd-np-aside .jd-side-box, .tk-tabs {
  border-top: 0 !important; position: relative; overflow: hidden;
  box-shadow: 0 2px 4px rgba(10,40,24,.05), 0 16px 32px -12px rgba(10,40,24,.22) !important;
}
.jd-side-top::before, .jd-np-aside .jd-side-box::before, .tk-tabs::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, #14b956, #0a9a44 60%, #e3141c 60%, #e3141c 80%, #066c2f 80%); }
.jd-side-tabs button.active, .tk-tab-head button.active { background: linear-gradient(180deg, #f0faf4, #e1f4e9) !important; }
html[data-theme="dark"] .jd-side-tabs button.active, html[data-theme="dark"] .tk-tab-head button.active { background: #13261b !important; }

/* buttons: glossy gradient, pressed feel */
.jd-side-more, .jd-area button, .jd-np-more, .np-pager .np-more a, .tk-btn, .np-pager .active span {
  background: var(--sn-grad-green) !important; border: 0 !important; box-shadow: var(--sn-3d), 0 6px 14px -4px rgba(10,154,68,.5) !important;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.jd-side-more:hover, .jd-area button:hover, .jd-np-more:hover, .np-pager .np-more a:hover, .tk-btn:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: var(--sn-3d), 0 10px 20px -6px rgba(10,154,68,.6) !important; }
.jd-side-more:active, .jd-area button:active, .jd-np-more:active, .tk-btn:active { transform: translateY(0); box-shadow: inset 0 2px 6px rgba(0,0,0,.25) !important; }
.tk-rank li:nth-child(-n+3) .tk-rank-no, .jd-d-list li:nth-child(-n+3) .n { background: var(--sn-grad-red) !important; box-shadow: var(--sn-3d), 0 3px 8px rgba(227,20,28,.35); }
.jd-d-list .n, .tk-rank-no { box-shadow: var(--sn-3d); }
.np-story .jd-d-crumb .np-cat { background: var(--sn-grad-green) !important; box-shadow: var(--sn-3d), 0 4px 10px rgba(10,154,68,.3); }
.jd-d-tools > a:hover, .jd-d-tools > button:hover { background: var(--sn-grad-green) !important; box-shadow: 0 6px 14px -4px rgba(10,154,68,.55); transform: translateY(-2px); }
.jd-d-tools > a, .jd-d-tools > button { transition: transform .15s ease, box-shadow .15s ease, background .15s ease; box-shadow: 0 1px 2px rgba(0,0,0,.06); }

/* video band: deep mangrove with light from the top-right */
.tk-video { background: radial-gradient(90% 120% at 100% 0%, rgba(20,185,86,.28) 0, transparent 55%), var(--sn-grad-dark) !important; box-shadow: inset 0 10px 30px -18px rgba(0,0,0,.6), inset 0 -10px 30px -18px rgba(0,0,0,.6); }
.tk-play-lg { background: var(--sn-grad-red) !important; }

/* footer: depth and a glowing top edge */
html .sf { background: radial-gradient(70% 90% at 0% 0%, rgba(20,185,86,.22) 0, transparent 60%), var(--sn-grad-dark) !important; box-shadow: 0 -12px 30px -18px rgba(6,61,34,.6); }
html .sf::before { background: linear-gradient(90deg, #14b956, #0a9a44 55%, #e3141c 55%, #ff4b51 78%, #066c2f 78%) !important; box-shadow: 0 2px 10px rgba(20,185,86,.5); }
html .sf-logo { box-shadow: 0 10px 24px -8px rgba(0,0,0,.5), inset 0 -2px 0 rgba(0,0,0,.08) !important; }
html .sf-social a { background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06)) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 4px 10px rgba(0,0,0,.25); transition: transform .15s ease, background .15s ease; }
html .sf-social a:hover { background: var(--sn-grad-red) !important; transform: translateY(-3px); }

/* back-to-top + sitemap cards pick up the same finish */
.sn-totop { background: var(--sn-grad-green) !important; box-shadow: var(--sn-3d), 0 10px 22px -6px rgba(6,61,34,.6) !important; }
.sn-smap-card { box-shadow: var(--sn-lift); transition: transform .2s ease, box-shadow .2s ease; }
.sn-smap-card:hover { transform: translateY(-4px); box-shadow: var(--sn-lift-hover); }

@media (prefers-reduced-motion: reduce) {
  .tk-thumb, .sn-smap-card, .jd-d-tools > a { transition: none !important; }
  .jd-tcard:hover .tk-thumb, .jd-card:hover .tk-thumb, .sn-smap-card:hover { transform: none !important; }
}
/* byline: name · designation on one line */
.jd-d-role::before { content: "·"; margin-right: 6px; color: var(--sn-green); font-weight: 700; }
.jd-d-who strong { white-space: normal; }

/* #####################################################################
   8. STORY TEXT SIZE (অ+ / অ− buttons on news pages: classes fs-1 … fs-4)
   ##################################################################### */
.np-story .np-body.fs-1 { font-size: 16px !important; }
.np-story .np-body.fs-2 { font-size: 18.5px !important; }
.np-story .np-body.fs-3 { font-size: 21.5px !important; }
.np-story .np-body.fs-4 { font-size: 25px !important; }
/* pasted text often carries its own fixed size: let it follow the chosen size */
.np-story .np-body[class*="fs-"] :is(p, span, div, li, font, strong, b, em, a, blockquote, td) { font-size: inherit !important; }
.np-story .np-body[class*="fs-"] :is(p, li) { line-height: 1.85; }
@media (max-width: 767px) {
  .np-story .np-body.fs-1 { font-size: 15px !important; }
  .np-story .np-body.fs-2 { font-size: 17.5px !important; }
  .np-story .np-body.fs-3 { font-size: 20px !important; }
  .np-story .np-body.fs-4 { font-size: 23px !important; }
}
/* the buttons show which size is on */
.jd-d-tools .np-fs button.on { background: var(--sn-green) !important; border-color: var(--sn-green) !important; color: #fff !important; }
/* #####################################################################
   9. সর্বশেষ / জনপ্রিয় LISTS: headline + "category • how long ago"
   ##################################################################### */
.jd-side-list .jd-sl-txt, .jd-d-list .jd-sl-txt { display: flex !important; flex-direction: column; gap: 4px; min-width: 0; overflow: visible !important; -webkit-line-clamp: unset !important; line-clamp: unset !important; }
.jd-side-list .jd-sl-title { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.jd-meta { display: flex !important; align-items: center; flex-wrap: wrap; gap: 0 6px; font-size: 12.5px !important; line-height: 1.4 !important; font-weight: 500 !important; color: var(--tk-muted, #6b6f76) !important; -webkit-line-clamp: unset !important; }
.jd-meta b { color: var(--sn-green) !important; font-weight: 700; }
.jd-meta .jd-meta-dot { font-style: normal; color: var(--sn-red); font-size: 10px; }
.jd-meta .fa { margin-right: 3px; opacity: .75; }
.jd-side-list a:hover .jd-meta, .jd-d-list a:hover .jd-meta { color: var(--tk-muted, #6b6f76) !important; }
html[data-theme="dark"] .jd-meta b { color: #4ade80 !important; }
/* #####################################################################
   10. STORY TEXT: comfortable reading (news pages)
   ##################################################################### */
.np-story .np-body {
  font-family: "Noto Serif Bengali", "Hind Siliguri", "SolaimanLipi", serif;
  color: #1d2124; font-weight: 400; letter-spacing: .1px;
  max-width: 760px; text-rendering: optimizeLegibility;
}
html[data-theme="dark"] .np-story .np-body { color: #e4e6e8; }
.np-story .np-body p { margin: 0 0 1.05em; line-height: 1.95 !important; }
.np-story .np-body p:last-child { margin-bottom: 0; }
.np-story .np-body strong, .np-story .np-body b { font-weight: 700; color: inherit; }
.np-story .np-body a { color: var(--sn-green-deep); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.np-story .np-body h2, .np-story .np-body h3, .np-story .np-body h4 { font-family: "Hind Siliguri", sans-serif; color: var(--sn-green-ink); margin: 1.5em 0 .5em; line-height: 1.4; }
html[data-theme="dark"] .np-story .np-body h2, html[data-theme="dark"] .np-story .np-body h3 { color: #f1f1f1; }
.np-story .np-body blockquote { margin: 1.4em 0; padding: 12px 18px; border-left: 4px solid var(--sn-green); background: var(--sn-green-soft); border-radius: 0 8px 8px 0; font-style: normal; }
.np-story .np-body img { max-width: 100%; height: auto; border-radius: 8px; margin: .6em 0; }
.np-story .np-body ul, .np-story .np-body ol { padding-left: 1.4em; margin: 0 0 1.05em; }
.np-story .np-body li { margin-bottom: .35em; line-height: 1.85; }
/* the bold summary above the story, when it says something new */
.jd-d-lede { font-family: "Noto Serif Bengali", "Hind Siliguri", serif; font-weight: 600; font-size: 19.5px; line-height: 1.8; color: #2a2e33; max-width: 760px; }
html[data-theme="dark"] .jd-d-lede { color: #eceff1; }
@media (max-width: 767px) {
  .np-story .np-body p { line-height: 1.9 !important; }
  .jd-d-lede { font-size: 17.5px; }
}
/* #####################################################################
   11. সর্বশেষ / জনপ্রিয় LISTS: round photos
   ##################################################################### */
.jd-side-list a { grid-template-columns: minmax(0, 1fr) 76px !important; gap: 12px !important; }
.jd-side-list img, .jd-d-list img {
  width: 76px !important; height: 76px !important; aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important; object-fit: cover; object-position: center;
  border: 3px solid #fff; box-shadow: 0 0 0 2px rgba(10,154,68,.35), 0 4px 12px -2px rgba(10,40,24,.3) !important;
  transition: transform .25s ease, box-shadow .25s ease;
}
.jd-d-list img { width: 72px !important; height: 72px !important; }
.jd-d-list a, .jd-d-list ul a, ul.jd-d-list a { grid-template-columns: auto minmax(0, 1fr) 72px; }
ul.jd-d-list a { grid-template-columns: minmax(0, 1fr) 72px !important; }
.jd-side-list a:hover img, .jd-d-list a:hover img { transform: scale(1.06); box-shadow: 0 0 0 2px var(--sn-green), 0 8px 18px -4px rgba(10,40,24,.4) !important; }
html[data-theme="dark"] .jd-side-list img, html[data-theme="dark"] .jd-d-list img { border-color: #1b1c20; }
@media (max-width: 767px) {
  .jd-side-list a { grid-template-columns: minmax(0, 1fr) 64px !important; }
  .jd-side-list img, .jd-d-list img { width: 64px !important; height: 64px !important; }
  ul.jd-d-list a { grid-template-columns: minmax(0, 1fr) 64px !important; }
}
/* homepage সর্বশেষ / জনপ্রিয় box: wider column (col-lg-4), roomier rows */
.tk-home .jd-side-top { padding: 0 18px 18px; }
.tk-home .jd-side-top .jd-side-tabs { margin: 0 -18px 6px; }
.tk-home .jd-side-top .jd-side-tabs button { font-size: 19px; padding: 13px 8px 11px; }
.tk-home .jd-side-top .jd-side-list a { padding: 13px 0; grid-template-columns: minmax(0, 1fr) 84px !important; gap: 14px !important; }
.tk-home .jd-side-top .jd-side-list img { width: 84px !important; height: 84px !important; }
.tk-home .jd-side-top .jd-sl-title { font-size: 17px; line-height: 1.5; font-weight: 600; }
.tk-home .jd-side-top .jd-meta { font-size: 13px !important; }
@media (max-width: 991px) {
  .tk-home .jd-side-top { margin-top: 18px; }
}
@media (max-width: 767px) {
  .tk-home .jd-side-top .jd-side-list a { grid-template-columns: minmax(0, 1fr) 68px !important; }
  .tk-home .jd-side-top .jd-side-list img { width: 68px !important; height: 68px !important; }
  .tk-home .jd-side-top .jd-sl-title { font-size: 16px; }
}
/* সর্বশেষ / জনপ্রিয় lists: headline at most 2 lines, the rest hidden with … */
.jd-side-list .jd-sl-title, .tk-home .jd-side-top .jd-sl-title, .jd-d-list .t {
  display: -webkit-box !important; -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important; line-clamp: 2 !important;
  overflow: hidden !important; text-overflow: ellipsis; word-break: break-word;
}