/* Komani Newsroom 16: consistent full-width article typography, streamlined red
   bar and CNN-style post-article layout. Overrides earlier theme versions. */
body.kn-single-post main.single-page.container-wide {
  box-sizing:border-box!important;
  width:calc(100% - 48px)!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
body.kn-single-post main.single-page .newsroom-article,
body.kn-single-post main.single-page .article-heading,
.kn-stream-item .newsroom-article,
.kn-stream-item .article-heading {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.kn-single-post main.single-page h1.article-title,
.kn-stream-item h1.article-title {
  box-sizing:border-box!important;
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 29px!important;
  padding:0 0 0 64px!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:700!important;
  font-size:clamp(44px,3.95vw,73px)!important;
  line-height:1.13!important;
  letter-spacing:-.033em!important;
  text-align:left!important;
  text-wrap:wrap!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.kn-single-post main.single-page h1.article-title::before,
.kn-stream-item h1.article-title::before {
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:0!important;
  width:9px!important;
  height:auto!important;
  background:#cc0016!important;
  border:0!important;
  border-radius:0!important;
}
body.kn-single-post main.single-page .article-taxonomy,
body.kn-single-post main.single-page .article-timestamp,
body.kn-single-post main.single-page .article-byline,
.kn-stream-item .article-taxonomy,
.kn-stream-item .article-timestamp,
.kn-stream-item .article-byline {
  margin-left:64px!important;
}
/* Two editorial desks with CNN-like proportions: 6 image cards and a 10-link rail. */
body.kn-single-post .kn-endcap,
.kn-stream-item .kn-endcap {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-top:45px!important;
}
body.kn-single-post .kn-endcap-layout,
.kn-stream-item .kn-endcap-layout {
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.54fr) minmax(330px,1fr)!important;
  column-gap:clamp(35px,3.5vw,66px)!important;
  align-items:start!important;
}
.kn-up-next-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:clamp(18px,1.6vw,29px)!important;
  row-gap:36px!important;
}
.kn-up-next h2,.kn-most-popular h2 {
  margin:0 0 26px!important;
  font:700 clamp(27px,2vw,33px)/1.1 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.025em!important;
}
.kn-up-next-title {
  font:400 clamp(17px,1.28vw,21px)/1.28 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.015em!important;
  margin:10px 0 9px!important;
}
.kn-up-next-meta{font:500 12px/1.35 Arial,Helvetica,sans-serif!important;color:#5f5f5f!important;letter-spacing:.06em!important;}
.kn-most-popular-list{margin:0!important;padding:0!important;}
.kn-most-popular-item {
  grid-template-columns:29px minmax(0,1fr)!important;
  column-gap:20px!important;
  padding:18px 0 20px!important;
  border-top:1px solid #dedede!important;
}
.kn-most-popular-item:first-child{border-top:0!important;padding-top:2px!important;}
.kn-most-popular-item::before{font:700 23px/1.2 Arial,Helvetica,sans-serif!important;}
.kn-most-popular-item a{font:400 clamp(17px,1.22vw,20px)/1.32 Arial,Helvetica,sans-serif!important;letter-spacing:-.01em!important;}
/* Each main-nav category AND curated tag gets a latest-post section. */
.kn-home-topic-section .front-category-top .see-all{font-weight:500!important;text-decoration:none!important;}
.kn-home-topic-section .front-category-top .see-all:hover{text-decoration:underline!important;}
.kn-home-topic-section .kn-topic-few-stories{grid-template-columns:minmax(0,2fr) minmax(0,1fr)!important;}
.kn-home-topic-section .kn-topic-few-stories .front-category-lead{grid-column:1!important;grid-row:auto!important;}
.kn-home-topic-section .kn-topic-few-stories .front-category-rail{grid-column:2!important;grid-row:auto!important;}
@media (min-width:761px) and (max-width:1199px){
  body.kn-single-post .kn-endcap-layout,.kn-stream-item .kn-endcap-layout{
    grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)!important;
    column-gap:26px!important;
  }
  .kn-up-next-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  body.kn-single-post main.single-page.container-wide{width:calc(100% - 32px)!important;}
  body.kn-single-post main.single-page h1.article-title,
  .kn-stream-item h1.article-title {
    width:100%!important;
    max-width:none!important;
    padding:0 0 0 25px!important;
    font-size:clamp(32px,7.75vw,47px)!important;
    line-height:1.14!important;
    letter-spacing:-.026em!important;
    text-wrap:wrap!important;
  }
  body.kn-single-post main.single-page h1.article-title::before,
  .kn-stream-item h1.article-title::before{width:6px!important;}
  body.kn-single-post main.single-page .article-taxonomy,
  body.kn-single-post main.single-page .article-timestamp,
  body.kn-single-post main.single-page .article-byline,
  .kn-stream-item .article-taxonomy,
  .kn-stream-item .article-timestamp,
  .kn-stream-item .article-byline{margin-left:25px!important;}
  body.kn-single-post .kn-endcap-layout,.kn-stream-item .kn-endcap-layout{grid-template-columns:1fr!important;gap:30px!important;}
  .kn-up-next-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 14px!important;}
  .kn-up-next-title{font-size:15px!important;line-height:1.27!important;}
  .kn-most-popular-item a{font-size:16px!important;}
  .kn-home-topic-section .kn-topic-few-stories{display:block!important;}
}

/* Uniform interaction: no red link text or red hover highlight anywhere.
   Keep the rest-state text colour, underline on mouse hover and preserve a
   clear focus ring for keyboard navigation. Social icons remain icon links. */
body a:hover,
body a:focus-visible {
  color:inherit!important;
  text-decoration:underline!important;
  text-decoration-color:currentColor!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
body .site-header .header-nav a:hover,
body .site-header .header-nav a:focus-visible,
body .main-menu a:hover,
body .main-menu a:focus-visible,
body .kn-drawer-categories a:hover,
body .kn-drawer-categories a:focus-visible,
body .kn-drawer-tags a:hover,
body .kn-drawer-tags a:focus-visible,
body .kn-cnn-footer a:hover,
body .kn-cnn-footer a:focus-visible,
body .story-title a:hover,
body .story-title a:focus-visible,
body .kn-most-popular-item a:hover,
body .kn-up-next-title a:hover,
body .news-trends a:hover,
body .news-trends a:focus-visible {
  color:inherit!important;
  background-color:transparent!important;
  text-decoration:underline!important;
  text-decoration-color:currentColor!important;
  text-underline-offset:3px!important;
}
body .article-content a,
body .entry-content a:not(.wp-element-button) {color:#121212!important;}
body .article-content a:hover,
body .entry-content a:not(.wp-element-button):hover,
body .article-content a:focus-visible,
body .entry-content a:not(.wp-element-button):focus-visible{color:#121212!important;text-decoration:underline!important;}
body .article-media-share a:hover,
body .article-media-share button:hover,
body .kn-endcap-share-icons a:hover,
body .kn-endcap-share-icons button:hover,
body .article-share a:hover,
body .article-share button:hover{
  color:#111!important;
  background-color:#fff!important;
  border-color:#777!important;
}
body .kn-stream-more:hover:not(:disabled){background:#111!important;border-color:#111!important;color:#fff!important;}
body .site-header .menu-toggle:hover,
body .site-header .menu-toggle:focus-visible{background:transparent!important;color:#111!important;}
body a:focus-visible {outline:2px solid currentColor;outline-offset:3px;}

/* The reading text and inline photographs stay in the centre of the page.
   The article masthead remains full width and is not constrained here. */
@media(min-width:761px){
 body.kn-single-post .article-media-row,
 .kn-stream-item .article-media-row{
   box-sizing:border-box!important;
   display:flex!important;
   flex-direction:column!important;
   align-items:stretch!important;
   position:relative!important;
   width:min(820px,100%)!important;
   max-width:820px!important;
   margin:38px auto 30px!important;
   gap:18px!important;
 }
 body.kn-single-post .article-media-share,
 .kn-stream-item .article-media-share{
   box-sizing:border-box!important;
   display:flex!important;
   flex-direction:row!important;
   position:static!important;
   order:0!important;
   padding:0!important;
   flex-wrap:wrap!important;
 }
 body.kn-single-post .article-feature,
 .kn-stream-item .article-feature{order:1!important;max-width:820px!important;width:100%!important;}
 body.kn-single-post .article-columns,
 .kn-stream-item .article-columns{
   display:block!important;
   box-sizing:border-box!important;
   width:min(820px,100%)!important;
   max-width:820px!important;
   margin:0 auto!important;
   padding:0!important;
 }
 body.kn-single-post .article-content-column,
 .kn-stream-item .article-content-column{width:100%!important;max-width:820px!important;}
 body.kn-single-post .article-sidebar,
 .kn-stream-item .article-sidebar{width:100%!important;max-width:820px!important;margin:48px auto 0!important;}
}
@media(min-width:1220px){
 body.kn-single-post .article-media-share,
 .kn-stream-item .article-media-share{
   position:absolute!important;
   top:0!important;
   left:calc(-1 * clamp(150px, 15vw, 345px))!important;
   max-width:320px!important;
 }
}
@media(max-width:760px){
 body.kn-single-post .article-media-row,
 .kn-stream-item .article-media-row{margin:30px 0 28px!important;max-width:100%!important;width:100%!important;}
 body.kn-single-post .article-columns,
 .kn-stream-item .article-columns{margin:0 auto!important;max-width:100%!important;width:100%!important;}
}
