/* Carreira & Sucesso — authoritative layout/typography v1.3.2
   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:13px !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:12.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:34px !important;
    margin-bottom:38px !important;
  }
  .cs-category-section + .cs-category-section{
    margin-top:40px !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.62fr) minmax(320px,.92fr) !important;
    gap:22px !important;
    align-items:start !important;
  }
  .cs-category-feature{
    display:block !important;
    min-width:0 !important;
  }
  .cs-category-stack{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:13px !important;
    align-content:start !important;
    min-height:0 !important;
    height:auto !important;
  }
  .cs-mini-card{
    display:grid !important;
    grid-template-columns:118px minmax(0,1fr) !important;
    gap:11px !important;
    align-items:start !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 0 12px !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:start !important;
    gap:22px !important;
    margin-bottom:40px !important;
  }
  .cs-lead-side{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:13px !important;
    align-content:start !important;
    align-self:start !important;
    height:auto !important;
    min-height:0 !important;
  }
  .cs-side-card{
    display:grid !important;
    grid-template-columns:118px minmax(0,1fr) !important;
    gap:11px !important;
    align-items:start !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 0 12px !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:44px !important;
  }
}

@media (max-width:980px) and (min-width:761px){
  .cs-category-grid{grid-template-columns:minmax(0,1.5fr) minmax(275px,.9fr) !important;gap:18px !important}
  .cs-mini-card,.cs-side-card{grid-template-columns:104px minmax(0,1fr) !important;gap:9px !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}
}
