/* Carreira & Sucesso — authoritative layout/typography v1.3.5
   Loaded after style.css. Cache-busted by filename + filemtime. */

/* Never truncate or artificially balance headlines. */
.cs-lead-main h1,
.cs-side-card h2,
.cs-category-feature h3,
.cs-mini-card h3,
.cs-list-card h2,
.cs-list-card h3,
.cs-article-title,
.cs-related-card h3,
.cs-popular-item h4,
.cs-section-title,
.cs-archive-title{
  display:block !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  text-wrap:auto !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  max-height:none !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

/* Gold labels are deliberately secondary. */
.cs-kicker,.cs-article-header .cs-kicker{
  font-size:9px !important;
  line-height:1.1 !important;
  letter-spacing:.03em !important;
}
.cs-media-kicker{
  font-size:9px !important;
  min-height:21px !important;
  padding:4px 7px !important;
  line-height:1 !important;
}

/* Desktop hierarchy. */
.cs-section-title,.cs-archive-title{
  font-size:18px !important;
  line-height:1.14 !important;
  margin:0 0 10px !important;
  padding-bottom:5px !important;
}
.cs-lead-main h1{
  font-size:25px !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
  margin:8px 0 5px !important;
}
.cs-side-card h2{
  font-size:13.5px !important;
  line-height:1.22 !important;
  letter-spacing:0 !important;
}
.cs-category-feature h3{
  font-size:16px !important;
  line-height:1.22 !important;
  letter-spacing:0 !important;
  margin-top:7px !important;
}
.cs-mini-card h3{
  font-size:13.5px !important;
  line-height:1.24 !important;
  letter-spacing:0 !important;
}
.cs-list-card h2,.cs-list-card h3{
  font-size:15px !important;
  line-height:1.22 !important;
  letter-spacing:0 !important;
}
.cs-article-title{
  font-size:28px !important;
  line-height:1.18 !important;
  letter-spacing:0 !important;
  margin-bottom:10px !important;
}
.cs-popular-title{font-size:18px !important}
.cs-popular-item h4{font-size:13px !important;line-height:1.24 !important}
.cs-section{margin-top:18px !important;margin-bottom:20px !important}

/* DESKTOP: balanced editorial spacing without stretched cards. */
@media (min-width:761px){
  .cs-section{
    margin-top:28px !important;
    margin-bottom:32px !important;
  }
  .cs-category-section + .cs-category-section{
    margin-top:34px !important;
  }
  .cs-section-title,.cs-archive-title{
    margin-bottom:14px !important;
    padding-bottom:7px !important;
  }

  .cs-category-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1.60fr) minmax(335px,.96fr) !important;
    gap:24px !important;
    align-items:stretch !important;
  }
  .cs-category-feature{
    display:block !important;
    min-width:0 !important;
  }
  .cs-category-stack{
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    gap:12px !important;
    align-content:normal !important;
    min-height:0 !important;
    height:100% !important;
  }
  .cs-mini-card{
    display:grid !important;
    grid-template-columns:138px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
    min-height:86px !important;
    height:auto !important;
    padding:7px 0 8px !important;
    margin:0 !important;
    border-bottom:1px solid var(--cs-line) !important;
  }
  .cs-mini-card:last-child{
    padding-bottom:0 !important;
    border-bottom:0 !important;
  }
  .cs-mini-card .cs-story-media{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16/9 !important;
  }
  .cs-mini-card .cs-story-media .cs-card-image,
  .cs-mini-card .cs-story-media .cs-placeholder{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
  }

  /* Lead rail: natural cards with breathing room; four secondary stories fill it without stretching. */
  .cs-home-lead{
    align-items:stretch !important;
    gap:24px !important;
    margin-bottom:34px !important;
  }
  .cs-lead-side{
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    gap:12px !important;
    align-content:normal !important;
    align-self:stretch !important;
    height:100% !important;
    min-height:0 !important;
  }
  .cs-side-card{
    display:grid !important;
    grid-template-columns:138px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
    min-height:86px !important;
    height:auto !important;
    padding:7px 0 8px !important;
    margin:0 !important;
    border-bottom:1px solid var(--cs-line) !important;
  }
  .cs-side-card:last-child{
    padding-bottom:0 !important;
    border-bottom:0 !important;
  }
  .cs-side-card .cs-story-media{
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16/9 !important;
  }
  .cs-side-card .cs-story-media .cs-card-image,
  .cs-side-card .cs-story-media .cs-placeholder{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
  }

  .cs-recent-section{
    margin-top:34px !important;
  }
}

@media (max-width:980px) and (min-width:761px){
  .cs-category-grid{grid-template-columns:minmax(0,1.48fr) minmax(290px,.92fr) !important;gap:18px !important}
  .cs-mini-card,.cs-side-card{grid-template-columns:116px minmax(0,1fr) !important;gap:10px !important;min-height:78px !important}
  .cs-lead-main h1{font-size:23px !important}
  .cs-article-title{font-size:25px !important}
  .cs-section-title,.cs-archive-title{font-size:17px !important}
}

/* Mobile: compact, readable, full titles with natural wrapping. */
@media (max-width:760px){
  .cs-section{margin-top:20px !important;margin-bottom:20px !important}
  .cs-section-title,.cs-archive-title{
    font-size:16px !important;
    line-height:1.18 !important;
    margin-bottom:9px !important;
  }
  .cs-lead-main h1{
    font-size:19px !important;
    line-height:1.22 !important;
    letter-spacing:0 !important;
    margin:7px 0 0 !important;
  }
  .cs-side-card h2,
  .cs-category-feature h3{
    font-size:16px !important;
    line-height:1.24 !important;
    letter-spacing:0 !important;
    margin:7px 0 0 !important;
  }
  .cs-mini-card h3,
  .cs-list-card h2,.cs-list-card h3{
    font-size:15.5px !important;
    line-height:1.24 !important;
    letter-spacing:0 !important;
    margin-top:7px !important;
  }
  .cs-article-title{
    font-size:19px !important;
    line-height:1.26 !important;
    letter-spacing:0 !important;
    margin-bottom:10px !important;
  }
  .cs-kicker,.cs-article-header .cs-kicker{font-size:9px !important}
  .cs-media-kicker{font-size:9px !important;min-height:21px !important;padding:4px 7px !important}

  /* Reset desktop fill model cleanly. */
  .cs-category-stack,.cs-lead-side{display:block !important;height:auto !important;min-height:0 !important}
  .cs-mini-card,.cs-side-card{display:block !important;height:auto !important;min-height:0 !important}
  .cs-mini-card .cs-story-media,.cs-side-card .cs-story-media{height:auto !important;min-height:0 !important;aspect-ratio:1.52/1 !important}
  .cs-mini-card .cs-story-media .cs-card-image,.cs-side-card .cs-story-media .cs-card-image{height:100% !important;min-height:0 !important}
}

@media (max-width:430px){
  .cs-section-title,.cs-archive-title{font-size:15.5px !important}
  .cs-lead-main h1{font-size:18.5px !important;line-height:1.24 !important}
  .cs-side-card h2,.cs-category-feature h3{font-size:15.5px !important;line-height:1.25 !important}
  .cs-mini-card h3,.cs-list-card h2,.cs-list-card h3{font-size:15px !important;line-height:1.25 !important}
  .cs-article-title{font-size:18px !important;line-height:1.28 !important}
}


/* v1.3.5 — HARD MOBILE RESET
   Prevent desktop rails/columns/floats from leaking into phone layouts. */
@media screen and (max-width:760px){
  html,body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  #page,#content,main,.cs-site-header,.cs-nav-wrap{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  .cs-container{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .cs-home-lead,
  .cs-category-grid,
  .cs-content-grid,
  .cs-article-shell{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .cs-lead-main,
  .cs-lead-side,
  .cs-category-feature,
  .cs-category-stack,
  .cs-post-list{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    float:none !important;
    clear:both !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .cs-lead-side > .cs-side-card,
  .cs-category-stack > .cs-mini-card,
  .cs-list-card{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    float:none !important;
    clear:both !important;
    position:relative !important;
    inset:auto !important;
    flex:none !important;
    grid-column:auto !important;
    grid-row:auto !important;
    transform:none !important;
    margin:0 !important;
    padding:16px 0 !important;
    border-bottom:1px solid var(--cs-line) !important;
  }
  .cs-lead-side > .cs-side-card:first-child,
  .cs-category-stack > .cs-mini-card:first-child{
    padding-top:16px !important;
  }
  .cs-lead-side > .cs-side-card:last-child,
  .cs-category-stack > .cs-mini-card:last-child{
    padding-bottom:16px !important;
    border-bottom:1px solid var(--cs-line) !important;
  }

  .cs-story-media,
  .cs-lead-main .cs-story-media,
  .cs-side-card .cs-story-media,
  .cs-category-feature .cs-story-media,
  .cs-mini-card .cs-story-media,
  .cs-list-card .cs-story-media{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1.52/1 !important;
    float:none !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  .cs-story-media img,
  .cs-story-media .cs-card-image,
  .cs-story-media .cs-placeholder{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    float:none !important;
  }

  .cs-side-card h2,
  .cs-category-feature h3,
  .cs-mini-card h3,
  .cs-list-card h2,
  .cs-list-card h3,
  .cs-lead-main h1{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    text-wrap:auto !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
    overflow:visible !important;
    text-overflow:clip !important;
    float:none !important;
  }
  .cs-lead-main h1{font-size:19px !important;line-height:1.22 !important}
  .cs-side-card h2,.cs-category-feature h3{font-size:16px !important;line-height:1.24 !important}
  .cs-mini-card h3,.cs-list-card h2,.cs-list-card h3{font-size:15.5px !important;line-height:1.24 !important}
}

@media screen and (max-width:430px){
  .cs-container{width:calc(100% - 20px) !important}
  .cs-lead-main h1{font-size:18px !important;line-height:1.24 !important}
  .cs-side-card h2,.cs-category-feature h3{font-size:15.5px !important;line-height:1.25 !important}
  .cs-mini-card h3,.cs-list-card h2,.cs-list-card h3{font-size:15px !important;line-height:1.25 !important}
}


/* v1.3.5 — definitive one-column phone layout.
   Repeated here as the last rules in the file to beat any earlier theme rule. */
@media screen and (max-width:820px){
  body.csntv-site,
  body.csntv-site #content,
  body.csntv-site main{
    overflow-x:hidden !important;
    max-width:100vw !important;
  }

  body.csntv-site .cs-home-lead,
  body.csntv-site .cs-category-grid,
  body.csntv-site .cs-content-grid,
  body.csntv-site .cs-article-shell{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    gap:0 !important;
  }

  body.csntv-site .cs-lead-side,
  body.csntv-site .cs-category-stack,
  body.csntv-site .cs-post-list{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    gap:0 !important;
  }

  body.csntv-site .cs-lead-main,
  body.csntv-site .cs-category-feature,
  body.csntv-site .cs-side-card,
  body.csntv-site .cs-mini-card,
  body.csntv-site .cs-list-card{
    display:block !important;
    grid-column:1 / -1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    float:none !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  body.csntv-site .cs-side-card,
  body.csntv-site .cs-mini-card{
    margin:0 !important;
    padding:16px 0 !important;
    border-bottom:1px solid var(--cs-line) !important;
  }

  body.csntv-site .cs-story-media,
  body.csntv-site .cs-lead-main .cs-story-media,
  body.csntv-site .cs-category-feature .cs-story-media,
  body.csntv-site .cs-side-card .cs-story-media,
  body.csntv-site .cs-mini-card .cs-story-media,
  body.csntv-site .cs-list-card .cs-story-media{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    aspect-ratio:16 / 9 !important;
    overflow:hidden !important;
    margin:0 !important;
    float:none !important;
  }

  body.csntv-site .cs-story-media > img,
  body.csntv-site .cs-story-media .cs-card-image,
  body.csntv-site .cs-story-media .cs-placeholder{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-width:0 !important;
    object-fit:cover !important;
    float:none !important;
  }

  body.csntv-site .cs-lead-main h1,
  body.csntv-site .cs-side-card h2,
  body.csntv-site .cs-category-feature h3,
  body.csntv-site .cs-mini-card h3,
  body.csntv-site .cs-list-card h2,
  body.csntv-site .cs-list-card h3,
  body.csntv-site .cs-lead-main h1 a,
  body.csntv-site .cs-side-card h2 a,
  body.csntv-site .cs-category-feature h3 a,
  body.csntv-site .cs-mini-card h3 a,
  body.csntv-site .cs-list-card h2 a,
  body.csntv-site .cs-list-card h3 a{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
    text-wrap:auto !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  body.csntv-site .cs-lead-main h1{font-size:19px !important;line-height:1.22 !important}
  body.csntv-site .cs-side-card h2,
  body.csntv-site .cs-category-feature h3{font-size:16px !important;line-height:1.24 !important}
  body.csntv-site .cs-mini-card h3,
  body.csntv-site .cs-list-card h2,
  body.csntv-site .cs-list-card h3{font-size:15.5px !important;line-height:1.24 !important}
}

@media screen and (max-width:430px){
  body.csntv-site .cs-lead-main h1{font-size:18px !important}
  body.csntv-site .cs-side-card h2,
  body.csntv-site .cs-category-feature h3{font-size:15.5px !important}
  body.csntv-site .cs-mini-card h3,
  body.csntv-site .cs-list-card h2,
  body.csntv-site .cs-list-card h3{font-size:15px !important}
}


/* v1.3.6 — definitive single/article mobile title fix.
   The article H1 is not a story-card heading, so it needs its own final override. */
@media screen and (max-width:820px){
  body.single-post.csntv-site .cs-article-shell,
  body.single-post.csntv-site .cs-article,
  body.single-post.csntv-site .cs-article-header{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    float:none !important;
    transform:none !important;
    overflow:visible !important;
  }

  body.single-post.csntv-site h1.cs-article-title{
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 0 12px !important;
    padding:0 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:24px !important;
    font-style:normal !important;
    font-stretch:normal !important;
    font-weight:800 !important;
    line-height:1.16 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:none !important;
    text-wrap:auto !important;
    overflow:visible !important;
    text-overflow:clip !important;
    transform:none !important;
  }
}

@media screen and (max-width:430px){
  body.single-post.csntv-site h1.cs-article-title{
    font-size:22px !important;
    line-height:1.18 !important;
  }
}
