/* Komani Newsroom 12.0: faithful two-tier compact black news footer.
   Brand at left; links and socials form two RIGHT-ALIGNED rows; one upper
   top rule, one mid rule, and a separate legal/copyright area. */
.site-footer.kn-cnn-footer {
  margin-top:72px!important;
  padding:47px 0 26px!important;
  background:#0b0b0b!important;
  color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.kn-cnn-footer .container-wide {
  width:calc(100% - 32px)!important;
  max-width:none!important;
  margin-inline:auto!important;
}
.kn-cnn-footer .kn-footer-upper {
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:36px!important;
  height:auto!important;
  min-height:177px!important;
  padding:45px 0 40px!important;
  border-top:1px solid #3e3e3e!important;
  border-bottom:1px solid #3e3e3e!important;
}
.kn-cnn-footer .kn-footer-brand {
  display:inline-flex!important;
  align-items:center!important;
  max-width:245px!important;
  flex:0 1 245px!important;
  margin:9px 0 0!important;
}
.kn-cnn-footer .kn-footer-brand .kn-footer-image {
  width:auto!important;
  max-width:210px!important;
  max-height:45px!important;
  object-fit:contain!important;
}
.kn-cnn-footer .kn-footer-wordmark {font-size:23px!important}
.kn-cnn-footer .kn-footer-wordmark b {font-size:18px!important}
.kn-cnn-footer .kn-footer-upper-right {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:42px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
.kn-cnn-footer .kn-footer-top-links {
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:30px!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
.kn-cnn-footer .kn-footer-top-links>a:last-child {
  border-left:1px solid #bbb!important;
  padding-left:30px!important;
}
.kn-cnn-footer .kn-footer-follow {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  column-gap:20px!important;
  row-gap:10px!important;
  flex-wrap:nowrap!important;
  min-height:30px!important;
  white-space:nowrap!important;
}
.kn-cnn-footer .kn-footer-follow strong {
  font-size:16px!important;
  font-weight:700!important;
  width:auto!important;
  margin:0!important;
}
.kn-cnn-footer .kn-footer-social-icon {
  display:inline-flex!important;
  width:24px!important;
  height:27px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
}
.kn-cnn-footer .kn-footer-social-icon svg {width:24px!important;height:24px!important}
.kn-cnn-footer .kn-footer-follow-separator {
  width:1px!important;
  height:28px!important;
  flex:0 0 1px!important;
  align-self:center!important;
  margin:0 1px 0 2px!important;
  background:#474747!important;
}
.kn-cnn-footer .kn-footer-rss {
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  font-size:15px!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
.kn-cnn-footer .kn-footer-rss svg {width:23px!important;height:23px!important;flex-shrink:0!important}
.kn-cnn-footer .kn-footer-lower {padding:31px 0 0!important}
.kn-cnn-footer .kn-footer-legal-nav .legal-menu {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  column-gap:25px!important;
  row-gap:13px!important;
  list-style:none!important;
  padding:0!important;
  margin:0!important;
}
.kn-cnn-footer .kn-footer-legal-nav .legal-menu a {
  color:#f3f3f3!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
  white-space:nowrap!important;
}
.kn-cnn-footer .kn-footer-copyright {margin:39px 0 0!important;color:#eee!important}
.kn-cnn-footer .kn-footer-copyright p {margin:0 0 4px!important;font-size:13px!important;line-height:1.4!important;color:#eee!important}
@media(max-width:1100px){
 .kn-cnn-footer .kn-footer-upper {gap:24px!important}
 .kn-cnn-footer .kn-footer-brand {flex-basis:180px!important}
 .kn-cnn-footer .kn-footer-brand .kn-footer-image {max-width:175px!important}
 .kn-cnn-footer .kn-footer-upper-right {gap:25px!important}
 .kn-cnn-footer .kn-footer-top-links {font-size:14px!important;gap:21px!important}
 .kn-cnn-footer .kn-footer-top-links>a:last-child {padding-left:21px!important}
 .kn-cnn-footer .kn-footer-follow {column-gap:13px!important}
 .kn-cnn-footer .kn-footer-follow strong {font-size:13px!important}
 .kn-cnn-footer .kn-footer-rss {font-size:13px!important}
}
@media(max-width:800px){
 .site-footer.kn-cnn-footer {padding:29px 0 26px!important;margin-top:48px!important}
 .kn-cnn-footer .container-wide {width:calc(100% - 32px)!important}
 .kn-cnn-footer .kn-footer-upper {flex-direction:column!important;align-items:flex-start!important;min-height:0!important;gap:24px!important;padding:29px 0 28px!important}
 .kn-cnn-footer .kn-footer-brand {flex:0 0 auto!important}
 .kn-cnn-footer .kn-footer-upper-right {align-items:flex-start!important;gap:22px!important;width:100%!important}
 .kn-cnn-footer .kn-footer-top-links {justify-content:flex-start!important;flex-wrap:wrap!important;gap:15px 22px!important;white-space:normal!important;font-size:14px!important}
 .kn-cnn-footer .kn-footer-top-links>a:last-child {padding-left:19px!important}
 .kn-cnn-footer .kn-footer-follow {justify-content:flex-start!important;flex-wrap:wrap!important;white-space:normal!important;column-gap:14px!important}
 .kn-cnn-footer .kn-footer-follow strong {width:100%!important;font-size:14px!important}
 .kn-cnn-footer .kn-footer-lower {padding-top:27px!important}
 .kn-cnn-footer .kn-footer-legal-nav .legal-menu {column-gap:18px!important;row-gap:14px!important}
 .kn-cnn-footer .kn-footer-legal-nav .legal-menu a {font-size:13px!important}
 .kn-cnn-footer .kn-footer-copyright {margin-top:30px!important}
}

/* Full-width editorial article masthead, matching the reference's geometry:
   bold two-line title across the entire news canvas, but a narrower reading
   column beginning beneath the photograph. Applies to loaded stream posts. */
@media (min-width: 761px) {
  body.kn-single-post .single-page,
  body.kn-single-post .newsroom-article,
  .kn-stream-item .newsroom-article {
    max-width:none!important;
  }
  body.kn-single-post .article-heading,
  .kn-stream-item .article-heading {
    width:100%!important;
    max-width:none!important;
    margin-right:0!important;
  }
  body.kn-single-post .article-title,
  .kn-stream-item .article-title {
    display:block;
    width:100%!important;
    max-width:none!important;
    margin-right:0!important;
    padding-left:57px!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-weight:700!important;
    font-size:clamp(43px,3.94vw,71px)!important;
    line-height:1.115!important;
    letter-spacing:-.028em!important;
    text-wrap:balance;
  }
  body.kn-single-post .article-title::before,
  .kn-stream-item .article-title::before {
    width:6px!important;
  }
}
/* Large image should be tied to the article's central reading column, not
   stretched across the headline area. The rail of share icons is to its left. */
@media (min-width: 1601px) {
 body.kn-single-post .article-media-row,
 .kn-stream-item .article-media-row {
   display:grid!important;
   grid-template-columns:390px minmax(0,820px)!important;
   gap:34px!important;
   margin-left:57px!important;
   max-width:1244px!important;
 }
 body.kn-single-post .article-columns,
 .kn-stream-item .article-columns {
   margin-left:481px!important;
   max-width:820px!important;
 }
}
/* Keep vertical photo, share icons, and story text in the same left edge at
   all common laptop widths, without sacrificing headline width. */
@media (min-width:761px) and (max-width:1600px) {
 body.kn-single-post .article-media-row,
 .kn-stream-item .article-media-row {
   display:grid!important;
   grid-template-columns:minmax(160px,28%) minmax(0,1fr)!important;
   gap:28px!important;
   width:calc(100% - 57px)!important;
   max-width:1100px!important;
   margin-left:57px!important;
 }
 body.kn-single-post .article-columns,
 .kn-stream-item .article-columns {
   margin-left:calc(57px + min(1100px, 100vw - 121px) * .28 + 28px)!important;
   max-width:min(820px, 60%)!important;
 }
}
@media (max-width:760px) {
 body.kn-single-post .article-title,
 .kn-stream-item .article-title {
   width:100%!important;
   max-width:none!important;
   font-size:clamp(32px,7.7vw,47px)!important;
   line-height:1.14!important;
   letter-spacing:-.023em!important;
   font-weight:700!important;
   text-wrap:pretty;
 }
 body.kn-single-post .article-media-row,
 .kn-stream-item .article-media-row {
   display:flex!important;
   flex-direction:column-reverse!important;
   gap:15px!important;
   width:100%!important;
   margin:0 0 26px!important;
 }
 body.kn-single-post .article-columns,
 .kn-stream-item .article-columns {
   width:100%!important;
   max-width:100%!important;
   margin:0!important;
 }
}

/* Full-width article titles with a precise, explicit date AND time row. */
body.kn-single-post main.single-page,
body.kn-single-post .newsroom-article,
.kn-stream-item .newsroom-article {width:calc(100% - 0px)!important;max-width:none!important;}
body.kn-single-post .article-heading,
.kn-stream-item .article-heading {width:100%!important;max-width:none!important;}
body.kn-single-post .article-title,
.kn-stream-item .article-title {
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  text-wrap:wrap!important;
  overflow-wrap:normal;
  letter-spacing:-.026em!important;
  font-weight:700!important;
}
body.kn-single-post .article-timestamp,
.kn-stream-item .article-timestamp {
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:8px 22px!important;
  font:400 13px/1.45 Arial,Helvetica,sans-serif!important;
  text-transform:none!important;
  letter-spacing:0!important;
  margin-bottom:18px!important;
  color:#292929!important;
}
body.kn-single-post .article-published,
body.kn-single-post .article-updated,
.kn-stream-item .article-published,
.kn-stream-item .article-updated {white-space:normal;}
body.kn-single-post .article-date-label,
.kn-stream-item .article-date-label {font-weight:700!important;text-transform:uppercase!important;font-size:11px!important;letter-spacing:.03em!important;color:#b70016!important;margin-right:5px;}
body.kn-single-post .article-timestamp time,
.kn-stream-item .article-timestamp time {font-weight:400!important;color:#222!important;}
body.kn-single-post .article-byline,
.kn-stream-item .article-byline {margin-top:0!important;margin-bottom:0!important;}
@media (min-width:761px) {
 body.kn-single-post .article-heading,
 .kn-stream-item .article-heading {padding-right:0!important;}
 body.kn-single-post .article-title,
 .kn-stream-item .article-title {font-size:clamp(43px,3.94vw,71px)!important;line-height:1.12!important;}
}
@media (max-width:760px) {
 body.kn-single-post .article-title,
 .kn-stream-item .article-title {padding-left:19px!important;font-size:clamp(32px,7.7vw,47px)!important;line-height:1.13!important;}
 body.kn-single-post .article-timestamp,
 .kn-stream-item .article-timestamp {font-size:12px!important;gap:4px 15px!important;margin-bottom:15px!important;}
 body.kn-single-post .article-date-label,
 .kn-stream-item .article-date-label {font-size:10px!important;}
}
/* Mobile publication pages keep clean editorial gutters and retain the share-first sequence. */
@media (max-width:760px) {
 body.kn-single-post main.single-page {
  width:calc(100% - 32px)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
 }
 body.kn-single-post .article-media-row,
 .kn-stream-item .article-media-row {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:14px!important;
 }
 body.kn-single-post .article-media-share,
 .kn-stream-item .article-media-share {order:0!important;}
 body.kn-single-post .article-feature,
 .kn-stream-item .article-feature {order:1!important;}
 body.kn-single-post .article-feature img,
 .kn-stream-item .article-feature img {max-width:100%!important;height:auto!important;}
}
