/* ==========================================================================
   The Bluecity News — Redesign Layer  v1
   Pure CSS overlay on tagDiv Newspaper. No theme/DB files touched.
   Remove wp-content/mu-plugins/bcn-redesign.php to revert everything.
   ========================================================================== */

:root{
  --bcn-blue:#0e63c4;
  --bcn-blue-dark:#0a4a96;
  --bcn-blue-ink:#08315f;
  --bcn-red:#d81f2a;
  --bcn-ink:#111827;
  --bcn-body:#43506b;
  --bcn-muted:#7c8798;
  --bcn-line:#e6eaf0;
  --bcn-bg:#eef1f6;
  --bcn-card:#ffffff;
  --bcn-radius:12px;
  --bcn-radius-sm:8px;
  --bcn-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px -12px rgba(16,24,40,.16);
  --bcn-shadow-lift:0 4px 10px rgba(16,24,40,.07),0 18px 40px -16px rgba(16,24,40,.28);
  --bcn-ease:cubic-bezier(.2,.7,.3,1);
  --bcn-wide:1320px;
  --bcn-devanagari:'Mukta','Noto Sans Devanagari','Hind',sans-serif;
  --bcn-latin:'Inter','Rubik',-apple-system,'Segoe UI',sans-serif;
  --bcn-font:'Mukta','Inter','Noto Sans Devanagari','Rubik',-apple-system,'Segoe UI',sans-serif;
}

/* ---------- 1. Page shell: kill the patterned background ------------------ */
body,
body.td-boxed-layout{
  background-image:none !important;
  background-color:var(--bcn-bg) !important;
  font-family:var(--bcn-font) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.td-boxed-layout #td-outer-wrap,
.td-boxed-layout .td-header-wrap,
#td-outer-wrap{
  background-color:transparent !important;
}
.td-boxed-layout .td-main-content-wrap,
.td-boxed-layout .td-container-wrap{
  background-color:var(--bcn-card) !important;
}
/* soften the boxed edge into a real card */
.td-boxed-layout #td-outer-wrap{
  box-shadow:0 0 0 1px rgba(16,24,40,.05),0 24px 70px -30px rgba(8,49,95,.35);
}

/* ---------- 2. Typography ------------------------------------------------- */
body,p,li,td,input,textarea,select,button,
.td-post-content p,.td-excerpt,
.td_module_wrap .td-excerpt{
  font-family:var(--bcn-font) !important;
}
h1,h2,h3,h4,h5,h6,
.entry-title,.entry-title a,
.td-module-title,.td-module-title a,
.td_module_wrap .entry-title a,
.tdb-title-text{
  font-family:var(--bcn-font) !important;
  letter-spacing:-.01em !important;
}
.td-theme-wrap .entry-title a,
.td-theme-wrap .td-module-title a{
  line-height:1.34 !important;
  font-weight:700 !important;
  transition:color .18s var(--bcn-ease);
}
.td-theme-wrap .entry-title a:hover,
.td-theme-wrap .td-module-title a:hover{
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:3px !important;
  text-decoration-color:currentColor !important;
}
/* on plain white cards the hover can also take the brand colour */
.td-theme-wrap .td_block_wrap:not(.td-big-grid-flex) .td_module_wrap:not(.td-big-grid-flex-post)
  .td-module-container:not(:has(.td-module-meta-info[style])) .entry-title a:hover{
  color:var(--bcn-blue) !important;
}
.td-theme-wrap .td-excerpt{
  color:var(--bcn-body) !important;
  line-height:1.7 !important;
  font-size:14px !important;
}
/* ---------- 3. Section headings: one consistent system -------------------- */
.td-theme-wrap .td-block-title-wrap{
  position:relative;
  padding-left:14px;
  margin-bottom:18px;
}
.td-theme-wrap .td-block-title-wrap:before{
  content:"";
  position:absolute;
  left:0;top:50%;
  transform:translateY(-50%);
  width:5px;height:20px;
  border-radius:3px;
  background:linear-gradient(180deg,var(--bcn-blue) 0%,var(--bcn-blue-dark) 100%);
}
.td-theme-wrap .td-block-title-wrap .td-block-title a,
.td-theme-wrap .td-block-title-wrap .td-block-title span{
  font-family:var(--bcn-font) !important;
  color:var(--bcn-ink) !important;
  font-weight:800 !important;
  font-size:16px !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}
/* every decorative rule becomes the same neutral hairline */
.td-theme-wrap .td-block-title-wrap .td-block-title > *:before,
.td-theme-wrap .td-block-title-wrap .td-block-title > *:after{
  background-color:var(--bcn-line) !important;
  background-image:none !important;
  height:1px !important;
  opacity:1 !important;
}

/* ---------- 4. Article cards --------------------------------------------- */
.td-theme-wrap .td-module-thumb,
.td-theme-wrap .td-image-wrap,
.td-theme-wrap .td_module_wrap .td-module-container{
  border-radius:var(--bcn-radius-sm);
}
.td-theme-wrap .td-module-thumb,
.td-theme-wrap .td-image-wrap{
  overflow:hidden !important;
}
.td-theme-wrap .td-module-thumb .entry-thumb,
.td-theme-wrap .td-image-wrap .entry-thumb,
.td-theme-wrap .td-module-thumb span.entry-thumb{
  transition:transform .5s var(--bcn-ease) !important;
  will-change:transform;
}
.td-theme-wrap .td_module_wrap:hover .td-module-thumb .entry-thumb,
.td-theme-wrap .td_module_wrap:hover .td-image-wrap .entry-thumb{
  transform:scale(1.055);
}
/* Overlay cards need a scrim or the white headline sits on raw photo.
   Two cases:
   a) blocks that already define a scrim (.td-module-thumb a:after) — restyle it;
      no `content` here, so no pseudo-element is created where none existed.
   b) the big-grid blocks: the theme reserves .td-module-thumb:after full-cover but
      leaves it empty (that reserved slot is why this is safe to fill). */
.td-theme-wrap .td-module-thumb a:after{
  background:linear-gradient(0deg,rgba(4,12,24,.88) 0%,rgba(4,12,24,.58) 32%,rgba(4,12,24,.30) 62%,rgba(4,12,24,.14) 100%) !important;
}
.td-theme-wrap .td-big-grid-flex .td-module-thumb:after{
  content:'' !important;
  background:linear-gradient(0deg,rgba(4,12,24,.9) 0%,rgba(4,12,24,.6) 34%,rgba(4,12,24,.32) 64%,rgba(4,12,24,.14) 100%) !important;
  z-index:0;
  pointer-events:none;
}
/* the theme's own hover tint on top of the scrim */
.td-theme-wrap .td-big-grid-flex .td-module-container:hover .td-module-thumb:after{
  background:linear-gradient(0deg,rgba(4,12,24,.92) 0%,rgba(4,12,24,.66) 34%,rgba(4,12,24,.4) 64%,rgba(4,12,24,.22) 100%) !important;
}

/* text-beside-thumb rows get a hover surface */
.td-theme-wrap .td_module_wrap .td-module-container{
  transition:transform .25s var(--bcn-ease);
}
.td-theme-wrap .td_module_wrap:hover .td-module-container{
  transform:translateY(-2px);
}

/* ---------- 5. Category pills -------------------------------------------- */
.td-theme-wrap .td-post-category,
.td-theme-wrap a.td-post-category{
  border-radius:999px !important;
  font-family:var(--bcn-font) !important;
  font-weight:700 !important;
  font-size:10px !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
  padding:4px 10px !important;
  line-height:1.4 !important;
  background-color:var(--bcn-blue) !important;
  color:#fff !important;
  transition:background-color .18s var(--bcn-ease);
}
.td-theme-wrap a.td-post-category:hover{
  background-color:var(--bcn-blue-dark) !important;
}
/* pills over photos keep the same solid brand fill, plus a hairline so they
   never dissolve into a bright image */
.td-theme-wrap .td-module-thumb .td-post-category,
.td-theme-wrap .td-image-container .td-post-category,
.td-theme-wrap .td-big-grid-flex .td-post-category{
  box-shadow:0 0 0 1px rgba(255,255,255,.28),0 2px 10px rgba(4,12,24,.35);
}

/* ---------- 6. Meta line -------------------------------------------------- */
.td-theme-wrap .td-module-meta-info .td-post-author-name a,
.td-theme-wrap .td-module-meta-info .td-post-author-name span,
.td-theme-wrap .td-module-meta-info .td-post-date,
.td-theme-wrap .td-module-meta-info time{
  font-family:var(--bcn-font) !important;
  color:var(--bcn-muted) !important;
  font-size:12px !important;
  font-weight:500 !important;
}

/* ---------- 7. Main navigation ------------------------------------------- */
.td-theme-wrap .tdb_header_menu .tdb-menu > li > a,
.td-theme-wrap #td-header-menu .sf-menu > li > a{
  font-family:var(--bcn-font) !important;
  font-weight:600 !important;
  font-size:13px !important;
  letter-spacing:.01em !important;
  padding-left:11px !important;
  padding-right:11px !important;
  position:relative;
  transition:color .18s var(--bcn-ease);
}
.td-theme-wrap .tdb_header_menu .tdb-menu > li > a:after{
  content:"";
  position:absolute;
  left:11px;right:11px;bottom:12px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left center;
  opacity:.85;
  transition:transform .26s var(--bcn-ease);
}
.td-theme-wrap .tdb_header_menu .tdb-menu > li:hover > a:after,
.td-theme-wrap .tdb_header_menu .tdb-menu > li.current-menu-item > a:after{
  transform:scaleX(1);
}
/* dropdowns */
.td-theme-wrap .tdb_header_menu .sub-menu,
.td-theme-wrap #td-header-menu .sub-menu{
  border-radius:var(--bcn-radius-sm) !important;
  overflow:hidden;
  box-shadow:var(--bcn-shadow-lift) !important;
  border:1px solid var(--bcn-line) !important;
}

/* ---------- 8. Breaking-news strip --------------------------------------- */
.td-theme-wrap .td_block_trending_now .td-next-prev-wrap a,
.td-theme-wrap .td-next-prev-wrap a{
  border-radius:var(--bcn-radius-sm) !important;
  border-color:var(--bcn-line) !important;
  color:var(--bcn-body) !important;
  transition:all .18s var(--bcn-ease);
}
.td-theme-wrap .td-next-prev-wrap a:hover{
  background-color:var(--bcn-blue) !important;
  border-color:var(--bcn-blue) !important;
  color:#fff !important;
}
.td-theme-wrap .td_block_trending_now .td-trending-now-title,
.td-theme-wrap .td-trending-now-title{
  border-radius:var(--bcn-radius-sm) !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
}

/* ---------- 9. Sidebar, ads, widgets ------------------------------------- */
.td-theme-wrap .td-a-rec,
.td-theme-wrap .td-adspot-title{
  text-align:center;
}
.td-theme-wrap .td-adspot-title{
  font-family:var(--bcn-font) !important;
  font-size:10px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  color:var(--bcn-muted) !important;
  font-weight:600 !important;
}
.td-theme-wrap .td-a-rec img,
.td-theme-wrap .td-a-rec-img img,
.td-theme-wrap .n2-ss-slider{
  border-radius:var(--bcn-radius-sm) !important;
  overflow:hidden;
}
.td-theme-wrap .td_block_social_counter .td-social-list .td_social_type{
  border-radius:var(--bcn-radius-sm) !important;
  border:1px solid var(--bcn-line) !important;
  transition:transform .2s var(--bcn-ease),box-shadow .2s var(--bcn-ease);
}
.td-theme-wrap .td_block_social_counter .td-social-list .td_social_type:hover{
  transform:translateY(-3px);
  box-shadow:var(--bcn-shadow);
}
/* rounded avatars in "most popular" style lists */
.td-theme-wrap .td_block_popular_categories .td-image-wrap,
.td-theme-wrap .td_module_wrap .td-module-thumb{
  border-radius:var(--bcn-radius-sm) !important;
}

/* ---------- 10. Footer ---------------------------------------------------- */
.td-theme-wrap .td-footer-wrap,
.td-theme-wrap .td-footer-template-wrap{
  background-color:var(--bcn-blue-ink) !important;
}
.td-theme-wrap .td-footer-wrap a,
.td-theme-wrap .td-footer-wrap p,
.td-theme-wrap .td-footer-wrap span,
.td-theme-wrap .td-footer-wrap li{
  font-family:var(--bcn-font) !important;
}

/* ---------- 11. Buttons, forms, misc ------------------------------------- */
.td-theme-wrap input[type=text],
.td-theme-wrap input[type=email],
.td-theme-wrap input[type=search],
.td-theme-wrap textarea,
.td-theme-wrap .td-search-input input{
  border-radius:var(--bcn-radius-sm) !important;
  border:1px solid var(--bcn-line) !important;
  font-family:var(--bcn-font) !important;
  transition:border-color .18s var(--bcn-ease),box-shadow .18s var(--bcn-ease);
}
.td-theme-wrap input[type=text]:focus,
.td-theme-wrap input[type=search]:focus,
.td-theme-wrap textarea:focus{
  border-color:var(--bcn-blue) !important;
  box-shadow:0 0 0 3px rgba(14,99,196,.14) !important;
  outline:none !important;
}
.td-theme-wrap input[type=submit],
.td-theme-wrap .tdm-btn,
.td-theme-wrap button[type=submit]{
  border-radius:999px !important;
  font-family:var(--bcn-font) !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
}
::selection{background:rgba(14,99,196,.2);}
html{scroll-behavior:smooth;}
.td-theme-wrap a{ -webkit-tap-highlight-color:rgba(14,99,196,.15); }

/* ---------- 12. Scroll-to-top -------------------------------------------- */
.td-scroll-up{
  border-radius:999px !important;
  background-color:var(--bcn-blue) !important;
  box-shadow:var(--bcn-shadow-lift) !important;
}

/* ---------- 13. Mobile ---------------------------------------------------- */
@media (max-width:1018px){
  .td-theme-wrap .td-block-title-wrap .td-block-title a,
  .td-theme-wrap .td-block-title-wrap .td-block-title span{ font-size:15px !important; }
}
@media (max-width:767px){
  body,body.td-boxed-layout{ background-color:#fff !important; }
  .td-theme-wrap .entry-title a,
  .td-theme-wrap .td-module-title a{ line-height:1.38 !important; }
  .td-theme-wrap .td-block-title-wrap{ padding-left:12px; margin-bottom:14px; }
  .td-theme-wrap .td-block-title-wrap:before{ width:4px;height:17px; }
}

/* ---------- 14. tdb "block-title" variant (Follow Us, widget heads) ------- */
.td-theme-wrap .td-block-title-wrap .block-title,
.td-theme-wrap .block-title{
  border-color:var(--bcn-line) !important;
}
.td-theme-wrap .td-block-title-wrap .block-title > *,
.td-theme-wrap .block-title > span,
.td-theme-wrap .block-title > a{
  background-color:var(--bcn-blue) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:5px 14px !important;
  font-family:var(--bcn-font) !important;
  font-weight:700 !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  line-height:1.5 !important;
}
/* that variant already carries its own accent — hide the duplicate bar */
.td-theme-wrap .td-block-title-wrap:has(.block-title){ padding-left:0; }
.td-theme-wrap .td-block-title-wrap:has(.block-title):before{ display:none; }

/* ---------- 15. Nav polish ----------------------------------------------- */
.td-theme-wrap .tdb_header_menu .tdb-menu,
.td-theme-wrap #td-header-menu .sf-menu{
  flex-wrap:nowrap;
}
.td-theme-wrap .tdb_header_menu .tdb-menu > li,
.td-theme-wrap #td-header-menu .sf-menu > li{
  white-space:nowrap;
}
@media (max-width:1200px){
  .td-theme-wrap .tdb_header_menu .tdb-menu > li > a{
    font-size:12.5px !important;
    padding-left:9px !important;
    padding-right:9px !important;
  }
}

/* ---------- 16. Overflow guard (pre-existing sideways scroll on phones) ---- */
@media (max-width:767px){
  html,body{ overflow-x:hidden !important; max-width:100% !important; }
  .td-theme-wrap img,.td-theme-wrap iframe,.td-theme-wrap video{ max-width:100% !important; }
}

/* ==========================================================================
   17. Boxed -> wide layout
   The theme pins .td-container/.tdc-row to 1068px and the boxed frame to 1164px.
   We release both and re-cap at a modern reading width instead.
   ========================================================================== */
@media (min-width:1141px){
  body.td-boxed-layout,
  body{
    background-color:#fff !important;
  }
  .td-boxed-layout #td-outer-wrap{
    box-shadow:none !important;
    width:100% !important;
    max-width:none !important;
  }
  .td-boxed-layout .td-container-wrap,
  .td-boxed-layout .td-container-wrap.td-main-page-wrap{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  /* A theme-builder zone is the full-bleed band (it carries the nav / footer
     colour); the .tdc-row inside it is the content. So stretch zones and cap rows. */
  .td-theme-wrap .tdc_zone{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .td-theme-wrap .td-container,
  .td-theme-wrap .tdc-row,
  .td-theme-wrap .tdc-row-composer{
    box-sizing:border-box !important;
    width:100% !important;
    max-width:var(--bcn-wide) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:28px !important;
    padding-right:28px !important;
  }
  /* full-bleed strips keep their colour edge to edge */
  .td-theme-wrap .td-header-menu-wrap,
  .td-theme-wrap .td-footer-wrap,
  .td-theme-wrap .td-footer-template-wrap{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}
@media (min-width:1141px) and (max-width:1400px){
  .td-theme-wrap .td-container,
  .td-theme-wrap .tdc-row,
  .td-theme-wrap .tdc-row-composer{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}
