/* ==========================================================
   Novidades
   (depende de style.css e pages.css)
   ========================================================== */
.news { background: #fff; padding: 90px 60px; }
.news-inner { display: flex; flex-direction: column; gap: 20px; max-width: 1140px; margin: 0 auto; }
.news-heading {
  font-family: "Rubik", sans-serif; font-size: 35px; font-weight: 500;
  line-height: 1; color: var(--navy); text-align: center;
}
.news-sub {
  margin-bottom: 20px; font-family: "Rubik", sans-serif; font-size: 20px; font-weight: 300;
  line-height: 1; color: var(--navy); text-align: center;
}
.news-list {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 20px;
  width: 1040px; max-width: 100%; align-self: center; padding: 10px; margin-bottom: 20px;
}
.news-card {
  flex: 0 0 100%; display: flex; gap: 20px; padding: 10px; min-width: 0;
  background: #FFB5B512; border-radius: 20px; box-shadow: 0 0 10px 0 rgba(0, 0, 0, .24);
  backdrop-filter: blur(10px);
}
.news-media {
  position: relative; flex: 0 1 819px; min-width: 0; min-height: 312px;
  border-radius: 10px; overflow: hidden;
}
.news-media img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: left center;
}
.news-body {
  flex: 0 1 70%; min-width: 0; padding: 10px;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 20px;
}
.news-title {
  font-family: "Rubik", sans-serif; font-size: 21px; font-weight: 700; line-height: 1; color: var(--navy);
}
.news-text {
  padding-right: 50px; font-family: "Rubik", sans-serif; font-size: 15px; line-height: 1.5; color: #202020;
}

@media (max-width: 1024px) {
  .news { padding: 80px 40px; }
  .news-list { width: 100%; }
  .news-card { flex: 0 0 48%; flex-direction: column; }
  .news-media { flex: none; min-height: 150px; }
  .news-body { flex: none; padding: 5px 15px 20px; }
  .news-text { padding-right: 20px; }
}

@media (max-width: 767px) {
  .news { padding: 50px 20px 0; }
  .news-heading { font-size: 23px; }
  .news-sub { font-size: 16px; }
  .news-list { padding: 0; }
  .news-card { flex: 0 0 100%; padding: 20px 15px; }
  .news-media { margin-bottom: 8px; }
  .news-body { padding: 0; align-items: center; }
  .news-title { text-align: center; }
  .news-text { padding: 0 5px; text-align: center; font-size: 16px; }
}
