.legal-updates-page { padding-top: 72px; }

.legal-updates-hero {
  min-height: 430px;
  display: flex;
  align-items: center;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 42%, rgba(254,218,156,.13), transparent 30%),
    linear-gradient(110deg, #061521, #071d29);
}

.legal-updates-hero:after {
  content: "STF  ·  STJ  ·  TRT-11  ·  VALOR";
  position: absolute;
  right: 5%;
  bottom: 35px;
  font: 600 clamp(50px, 9vw, 120px) "Playfair Display";
  letter-spacing: -.05em;
  color: rgba(254,218,156,.06);
  pointer-events: none;
}

.legal-updates-hero h1 {
  margin: 0 0 20px;
  font-size: clamp(52px, 7vw, 76px);
}

.legal-updates-hero .lead {
  max-width: 650px;
}

.legal-updates-content {
  padding: 85px 0 95px;
}

.updates-heading {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: end;
  margin-bottom: 35px;
}

.updates-heading h2 {
  margin: 0;
  font-size: 40px;
}

.updates-status {
  margin: 0;
  max-width: 270px;
  text-align: right;
  color: #7b7b73;
  font-size: 10px;
  line-height: 1.6;
}

.updates-filters {
  display: flex;
  gap: 8px;
  margin-bottom: 26px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 15px;
}

.updates-filter {
  appearance: none;
  border: 1px solid #c9c4b7;
  background: transparent;
  color: #4d514d;
  padding: 10px 17px;
  border-radius: 3px;
  cursor: pointer;
  font: 600 9px "DM Sans";
  letter-spacing: .08em;
  transition: .2s ease;
}

.updates-filter:hover,
.updates-filter.active {
  background: #10232e;
  border-color: #10232e;
  color: var(--gold);
}

.updates-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.update-card {
  min-height: 315px;
  display: flex;
  flex-direction: column;
  padding: 25px;
  border: 1px solid #d0cbc0;
  background: #f8f5ed;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.update-card:hover {
  transform: translateY(-4px);
  border-color: #a48d58;
  box-shadow: 0 15px 35px rgba(22,32,31,.08);
}

.update-card-head {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  align-items: center;
  margin-bottom: 25px;
}

.update-badge {
  color: #80652d;
  font: 600 10px "DM Sans";
  letter-spacing: .18em;
}

.update-date {
  color: #8a8b82;
  font-size: 9px;
}

.update-card h3 {
  margin: 0 0 15px;
  color: #182321;
  font: 500 22px/1.25 "Playfair Display";
}

.update-summary {
  color: #666b66;
  font-size: 11px;
  line-height: 1.7;
  margin: 0 0 24px;
}

.update-link {
  margin-top: auto;
  align-self: flex-start;
  color: #7c612b;
  border-bottom: 1px solid #b29a64;
  padding-bottom: 5px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
}

.updates-loading,
.updates-error,
.updates-empty {
  grid-column: 1 / -1;
  padding: 55px 20px;
  text-align: center;
  color: #77786f;
  border: 1px dashed #c9c4b7;
  font-size: 11px;
}

.updates-footer {
  border-top: 1px solid var(--line);
  margin-top: 35px;
  padding-top: 18px;
}

.updates-footer p {
  color: #7d7e76;
  font-size: 9px;
  line-height: 1.7;
  max-width: 780px;
}

.legal-updates-teaser {
  padding: 65px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.legal-updates-teaser-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.legal-updates-teaser h2 {
  font-size: 34px;
  margin: 0 0 10px;
}

.legal-updates-teaser p:not(.kicker) {
  max-width: 650px;
  color: #6f716a;
  font-size: 11px;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .updates-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .updates-heading,
  .legal-updates-teaser-grid {
    align-items: flex-start;
    flex-direction: column;
  }

  .updates-status { text-align: left; }
}

@media (max-width: 620px) {
  .updates-grid { grid-template-columns: 1fr; }
  .legal-updates-content { padding: 65px 0; }
  .updates-heading h2 { font-size: 32px; }
  .legal-updates-hero { min-height: 390px; }
}

.source-legend { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.source-legend span { padding:7px 10px; border:1px solid #d0cbc0; color:#7b6a45; font-size:8px; font-weight:700; letter-spacing:.12em; background:#faf8f1; }
@media(max-width:620px){ .updates-filters{flex-wrap:wrap;} }

/* LEITURA — ATUALIZAÇÕES JURÍDICAS */
.update-summary { font-size:13px; line-height:1.85; }
.updates-status { font-size:11px; line-height:1.7; }
.updates-footer p { font-size:11px; line-height:1.8; }
@media(max-width:620px){
  .update-summary { font-size:14px; line-height:1.8; }
}

/* LAYOUT EDITORIAL — NOTÍCIAS POR FONTE */
.updates-content { display: flex; flex-direction: column; gap: 58px; }
.news-source-section { min-width: 0; }
.news-source-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.news-source-heading > div:first-child { display:flex; align-items:flex-start; gap:16px; }
.news-source-heading .kicker { margin:0 0 5px; }
.news-source-heading h2 { margin:0; font:500 28px/1.2 "Playfair Display"; color:#182321; }
.source-index { display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid #c7b78e; color:#80652d; font:600 10px "DM Sans"; letter-spacing:.08em; flex:0 0 auto; }
.news-slider-controls { display:flex; gap:7px; flex:0 0 auto; }
.news-slider-btn { width:38px; height:38px; border:1px solid #c9c4b7; background:#f8f5ed; color:#23302d; cursor:pointer; font-size:18px; transition:.2s ease; }
.news-slider-btn:hover { background:#10232e; border-color:#10232e; color:var(--gold); }
.news-slider { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 30px) / 3); gap:15px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#b6aa8f transparent; padding:3px 2px 14px; }
.news-slider::-webkit-scrollbar { height:6px; }
.news-slider::-webkit-scrollbar-track { background:transparent; }
.news-slider::-webkit-scrollbar-thumb { background:#b6aa8f; border-radius:10px; }
.news-slider .update-card { scroll-snap-align:start; min-height:315px; }
.news-slider .update-card h3 { font-size:21px; }
.updates-content .updates-loading, .updates-content .updates-error, .updates-content .updates-empty { width:100%; box-sizing:border-box; }
@media (max-width: 900px) {
  .news-slider { grid-auto-columns:calc((100% - 15px) / 2); }
}
@media (max-width: 620px) {
  .updates-content { gap:45px; }
  .news-source-heading { align-items:flex-start; flex-direction:column; }
  .news-source-heading h2 { font-size:24px; }
  .news-slider { grid-auto-columns:88%; }
  .news-slider-controls { align-self:flex-end; }
}
