@import url("https://fonts.googleapis.com/css2?family=Afacad:ital,wght@0,400..700;1,400..700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Manrope:wght@200..800&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
/* Font Faces - IntroRust */
@font-face {
  font-family: "IntroRust";
  src: url("fonts/IntroRust.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IntroRust";
  src: url("fonts/IntroRustL.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IntroRust";
  src: url("fonts/IntroRustH2.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --color-primary: #29235c;
  --color-secondary: #f78120;
  --color-tertiary: #85323b;
  --color-accent: #d4e9d7;
  --color-beige: #f5e6d3;
  --color-green-light: #c8e6c9;
  --color-dark: #1a1a1a;
  --color-text: #343434;
  --font-main: "Montserrat", sans-serif;
  --font-inter: "Inter", sans-serif;
  --font-open-sans: "Open Sans", sans-serif;
  --font-manrope: "Manrope", sans-serif;
  --font-afacad: "Afacad", sans-serif;
  --font-titles: "IntroRust", sans-serif;
  --color-header: #ded9cc;
  --color-white: #ffffff;
  --color-green: #b5d097;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-main);
  color: var(--color-text);
  /* line-height: 1.6; */
  overflow-x: hidden;
  /* max-width: 1460px; */
}

.master_container {
  background: linear-gradient(
    180deg,
    #bad0d5 3%,
    #b2c7d1 22%,
    #cfd1d2 40%,
    #e1c3b0 64%,
    #f6cfb5 85%
  );
}

.master_container_tamanho {
  background: linear-gradient(
    180deg,
    #ded9cc 9%,
    #e1c3b0 34%,
    #f6cfb5 60%,
    #ebb285 86%
  );
}

.master_container_tamanho_parceiros {
  background: linear-gradient(
    180deg,
    #bad0d5 3%,
    #b2c7d1 22%,
    #cfd1d2 40%,
    #e1c3b0 64%,
    #f6cfb5 85%
  );
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;

  @media (max-width: 1280px) {
    padding: 0 32px;
  }

  @media (max-width: 1024px) {
    padding: 0 40px;
  }

  @media (max-width: 999px) {
    padding: 0 32px;
  }

  @media (max-width: 768px) {
    padding: 0 16px;
  }
}

/* Header Styles */
.header {
  background: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.top-bar {
  background: #b5d097;
  padding: 4px 0;
}

.top-bar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--color-primary);
}

.small-text {
  font-family: var(--font-open-sans);
  font-style: normal;
  font-weight: 700;
  font-size: 11px;
  line-height: 15px;
  letter-spacing: 0.02em;
}

.social-links {
  display: flex;
  align-items: center;
  gap: 15px;
}

.social-links a {
  color: var(--color-primary);
  font-size: 18px;
  line-height: 18px;
  transition: color 0.3s;
}

.social-links a:hover {
  color: var(--color-secondary);
}

.navbar {
  background: var(--color-primary);
  padding: 15px 0;
}

.navbar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo img {
  /* height: 50px; */
  width: 96px;
}

.nav-menu {
  display: flex;
  list-style: none;
  gap: 3.75rem;
  flex: 1;
  justify-content: center;
}

.nav-menu a {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  letter-spacing: 0.01em;
  text-decoration: none;
  color: #ded9cc;
  transition: color 0.3s;
}

.nav-menu a.-current,
.nav-menu a:hover {
  color: var(--color-secondary);
}

.nav-menu.active {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--color-primary);
  z-index: 999;
  /* animation: slideDown 0.4s ease-out; */
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

.nav-link {
  position: relative;
  display: inline-block;
}

.nav-link::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-secondary);
  transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

/* Para o menu mobile fullscreen */
.nav-menu.active .nav-link::after {
  background-color: #fff;
  bottom: -10px;
  height: 3px;
}

.nav-menu.active .nav-link {
  font-size: 1.5rem;
  margin: 1.5rem 0;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  transition: transform 0.3s ease;
}

.nav-menu.active .nav-link:hover {
  transform: scale(1.1);
}

/* Botão X de fechar */
.nav-menu.active::before {
  content: "✕";
  position: absolute;
  top: 2rem;
  right: 2rem;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
}

/* .nav-menu.closing {
  animation: slideUp 0.4s ease-out forwards;
} */

@keyframes slideUp {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}

.btn-newsletter {
  background: var(--color-secondary);
  color: var(--color-primary);
  border: none;
  padding: 12px 25px;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s;
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  letter-spacing: 0.01em;
}

.btn-newsletter:hover {
  background: #e55a2b;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3);
}

.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
}

.mobile-menu-toggle span {
  width: 25px;
  height: 3px;
  background: var(--color-white);
  transition: all 0.3s;
}

/* Hero Section */

/* Hero Section */
/* Hero Section */
.hero {
  width: 100%;
  display: flex;
  align-items: stretch;
  background-color: #e8e4d9;
  justify-content: center;
  position: relative;
}

.hero-container {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  /* min-height: 100vh; */

  @media (min-width: 1441px) {
    max-width: 1280px;
  }

  @media (max-width: 1280px) {
    padding-left: 32px;
  }
}

/* Coluna Esquerda - Conteúdo */
.hero-content {
  padding: 40px 5% 4rem 5rem;
  display: flex;
  flex-direction: column;
  background-color: #e8e4d9;

  @media (min-width: 1441px) {
    padding: 40px 5% 4rem 0;
  }
}

.hero-badges {
  display: grid;
  gap: 50px;
  align-items: center;
  margin-bottom: 35px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.hero-header {
  margin-bottom: 3rem;
}

.hero-date {
  font-size: 0.9rem;
  color: var(--color-primary);
  margin-bottom: 0.5rem;
  font-weight: 500;
}

.hero-logo-text {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-primary);
  line-height: 1;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: -1px;
}

.hero-edition {
  font-size: 0.85rem;
  color: var(--color-primary);
  font-weight: 600;
  margin-top: 0.5rem;
  text-transform: uppercase;
}

.hero-title {
  font-size: 3.5rem;
  color: var(--color-primary);
  line-height: 1.1;
  margin-bottom: 2rem;
  text-transform: uppercase;
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  line-height: 110%;

  mix-blend-mode: normal;
}

.hero-title-highlight {
  color: #a0423a;
}

.hero-description {
  font-size: 1.1rem;
  color: var(--color-text);
  line-height: 1.6;
  margin-bottom: 14px;
}

.hero-description strong {
  font-weight: 700;
  color: var(--color-primary);
}

/* Classe base para botões */
.btn-base {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--color-secondary);
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  border-radius: 6.22951px;
  cursor: pointer;
  transition: all 0.3s;
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
}

.hero-button {
  padding: 1rem 2rem;
  font-size: 1rem;
  border: 3px solid var(--color-primary);
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  align-self: flex-start;
  margin-top: 17px;
}

.hero-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

/* Coluna Direita - Imagem */
.hero-image {
  position: relative;
  background-color: #a8c5d6;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.hero-illustration {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Responsivo - Desktop médio */
@media (max-width: 1400px) {
  .hero-content {
    /* padding: 5rem 4% 4rem 0; */
    padding: 40px 5% 4rem 5.6%;
  }

  .hero-title {
    font-size: 3rem;
  }
}

@media (max-width: 1280px) {
  .hero-content {
    padding: 2.5rem 4% 4rem 0;
    /* padding: 40px 5% 4rem 5.6%; */
  }
}

@media (max-width: 1150px) {
  .hero-badges {
    gap: 20px;
  }
}

@media (max-width: 1024px) {
  .hero-content {
    padding: 2.5rem 3% 3rem 0;
  }

  .hero-title {
    font-size: 2.5rem;
    margin-bottom: 1.125rem;
  }

  .hero-logo-text {
    font-size: 2.2rem;
  }

  .hero-badges {
    gap: 10px;
  }

  .hero-button {
    padding: 0.6rem 0.5rem;
  }
}

@media (max-width: 1024px) {
  .hero-container {
    padding-left: 40px;
    /* max-height: 640px; */
  }
}

/* Responsivo - Tablet */
@media (max-width: 999px) {
  .hero-container {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 0;
  }

  .hero-content {
    padding-inline: 32px;
    text-align: center;
    align-items: center;
    order: 1;
  }

  .hero-image {
    min-height: 60vh;
    order: 2;
  }

  .hero-badges {
    display: flex;
    gap: 50px;
    justify-items: center;
  }

  .hero-title {
    font-size: 2.625rem;

    br {
      display: none;
    }
  }

  .hero-logo-text {
    font-size: 2rem;
  }

  .hero-button {
    align-self: unset;
  }
}

/* Responsivo - Mobile */
@media (max-width: 768px) {
  .hero-content {
    padding: 32px 20px;
    width: 100%;
  }

  .hero-header {
    margin-bottom: 2rem;
  }

  .hero-image {
    min-height: 50vh;
  }

  .hero-badges {
    display: grid;
    justify-items: center;
    align-items: center;
    gap: 1.3rem;
    padding: 0;
    grid-template-columns: 1fr 1fr 1fr;
    width: 100%;
  }

  .hero-badges .badge:first-child {
    grid-column: 1 / -1;
    max-width: 600px;
  }

  .badge {
    width: fit-content;
  }

  .hero-title {
    font-size: 2.25rem !important;
    margin-bottom: 1.5rem;
  }

  .hero-logo-text {
    font-size: 1.8rem;
  }

  /* .hero-description {
    font-size: 1rem;
    margin-bottom: 2rem;
  } */

  .hero-button {
    padding: 0.67rem 0.4rem;
    font-size: 0.975rem;
  }

  .cards-section {
    padding-block: 56px 104px;
  }
}

/* @media (max-width: 480px) {
  .hero-content {
    padding: 2rem 1.5rem;
  }

  .hero-image {
    min-height: 40vh;
  }

  .hero-badges {
    gap: 0.8rem;
    flex-wrap: wrap;
  }

  .badge {
    width: 50px;
  }

  .hero-title {
    font-size: 1.6rem;
  }

  .hero-logo-text {
    font-size: 1.5rem;
  }

  .hero-date,
  .hero-edition {
    font-size: 0.8rem;
  }

  .hero-description {
    font-size: 0.95rem;
  }
} */

/* Cards Section */
.cards-section {
  padding-block: 64px 104px;
  max-width: 1056px;
  margin-inline: auto;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;

  @media (max-width: 1024px) {
    justify-items: center;
  }
}

.card {
  background: #c9c6c0;
  border: 3px solid var(--color-primary);
  border-radius: 15px;
  padding: 32px 24px;
  transition: all 0.3s;
  max-width: 480px;

  @media (max-width: 1024px) {
    max-width: 380px;
  }

  @media (max-width: 768px) {
    padding-inline: 20px;
  }
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(43, 62, 130, 0.2);
}

.card-icon {
  margin-bottom: 20px;
}

.card-title {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 24px;
  line-height: 125%;
  color: var(--color-primary);
  margin-bottom: 15px;

  @media (max-width: 1024px) {
    font-size: 24px;
  }

  @media (max-width: 768px) {
    font-size: 23px;
  }
}

.card-text {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 120%;
  color: var(--color-primary);
  min-height: 50px;

  @media (max-width: 1024px) {
    font-size: 12.46px;
  }
}

.btn-card {
  padding: 12px 11px;
  font-size: 12.459px;
  line-height: 100%;
  margin-top: 22px;
}

.btn-card:hover {
  /* background: #e55a2b; */
  transform: none !important;
}

/* World Toilet Day Section */
.wtd-section {
  background: var(--color-green);
  padding: 56px;
  max-width: 1056px;
  margin-inline: auto;
  border-radius: 20px;

  @media (max-width: 1024px) {
    max-width: 928px;
  }
}

.wtd-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}

.section-title {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 32px;
  line-height: 125%;
  color: var(--color-primary);
}

.section-subtitle {
  font-family: var(--font-afacad);
  font-style: normal;
  font-weight: 600;
  font-size: 32px;
  line-height: 125%;
  color: var(--color-primary);
}

.section-title.dark {
  color: var(--color-primary);
}

.wtd-badge {
  width: 100px;
  height: 100px;
}

.wtd-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px;
}

.wtd-intro {
  font-family: var(--font-afacad);
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 120%;
  color: var(--color-primary);
  border-left: 4px solid #ef6c00;
  padding-left: 16px;
  margin-bottom: 48px;
}

.wtd-subtitle {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 28px;
  line-height: 125%;
  color: var(--color-primary);
  margin-bottom: 12px;
}

.wtd-text {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 125%;
  color: var(--color-text);
  margin-bottom: 20px;
}

.wtd-button {
  width: 100%;
  display: inline-block;
  text-align: center;
  margin-bottom: 0px;
}

.btn-secondary {
  padding: 11px 15px;
  margin-top: 40px;
}

.btn-secondary:hover {
  background: #e55a2b;
  transform: translateY(-2px);
}

/* Realization Section */
.realization-section {
  /* background: var(--color-beige); */
  padding: 90px 0;
  text-align: center;

  @media (max-width: 768px) {
    .section-title {
      font-size: 20px;
    }
  }
}

@media (max-width: 768px) {
  .realization-logo img {
    max-width: 144px;
    height: auto;
  }
  .partners-section .section-title {
    font-size: 20px;
  }

  .partners-intro {
    font-size: 14px !important;
    margin-top: 22px !important;
  }

  .partners-link {
    font-size: 14px !important;
  }

  .partner-card {
    width: 95%;
  }
}

.realization-logo {
  margin-top: 30px;
}

.realization-logo img {
  height: 80px;
}

/* Partners Section */
.partners-section {
  padding: 0;
  position: relative;
}

.partners-section::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 300px;
  /* background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23B8A898" d="M0,160L48,170.7C96,181,192,203,288,197.3C384,192,480,160,576,154.7C672,149,768,171,864,181.3C960,192,1056,192,1152,181.3C1248,171,1344,149,1392,138.7L1440,128L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>') no-repeat bottom; */
  /* background: url('images/footer_desert.svg')  no-repeat bottom; */
  background-size: cover;
  z-index: -1;
}

.partners-section .section-title {
  text-align: center;
}

.partners-intro {
  text-align: center;
  font-size: 16px;
  margin: 16px auto 56px;
  max-width: 764px;
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 125%;
  text-align: center;
  color: var(--color-text);
}

.partners-link {
  cursor: pointer;
  display: block;
  margin-top: 16px;
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 600;
  font-size: 20px;
  line-height: 125%;
  text-align: center;
  text-decoration-line: underline;
  color: var(--color-primary);
  transition: all 0.3s;
}

.partners-link:hover {
  color: var(--color-tertiary);
}

.partners-grid {
  /* display: grid;
    grid-template-columns: repeat(6, 1fr); */
  align-items: stretch;
  display: flex;
  max-width: 1106px;
  margin: 0 auto;
  gap: 30px;
  position: relative;
  z-index: 1;
}

.partner-card {
  background: white;
  border-radius: 10px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  aspect-ratio: 1;
}

.partner-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.partner-card img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.footer_desert_section {
  /* width: 100%;
    max-height: 400px;
    overflow: hidden; */
  margin-bottom: -7px;
  max-height: 400px;
  overflow: hidden;
}

.img_footer_desert {
  width: 100%;
  /* max-height: 400px;
    overflow: hidden; */
}

/* Footer */

/* Footer */
.footer {
  background-color: #b8d4a8;
  padding: 64px 0 22px;
}

.footer .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  margin-bottom: 24px;

  @media (max-width: 1024px) {
    grid-template-columns: 1fr 1.5fr;
  }

  @media (max-width: 999px) {
    grid-template-columns: 1fr;
  }
}

.footer-right-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
}

/* Coluna Esquerda */
.footer-left {
  display: flex;
  flex-direction: column;

  @media (max-width: 999px) {
    align-items: center;
  }
}

.footer-logo {
  width: fit-content;
  margin-bottom: 56px;
}

.footer-social .social-title,
.footer-contact .contact-title {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  line-height: 150%;
  color: var(--color-primary);
  margin-bottom: 16px;

  @media (max-width: 999px) {
    text-align: center;
  }
}

.social-icons {
  display: flex;
  gap: 0.8rem;
  margin-bottom: 40px;
}

.social-icon {
  width: 28px;
  height: 28px;
  background-color: var(--color-primary);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b8d4a8;
  font-size: 1.2rem;
  transition: transform 0.3s ease;
  text-decoration: unset;
}

.social-icon:hover {
  transform: translateY(-3px);
  background-color: var(--color-secondary);
}

.footer-contact a {
  font-family: var(--font-manrope);
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  line-height: 150%;
  text-decoration-line: underline;

  color: var(--color-primary);
}

/* Colunas Central e Direita */
.footer-section-title {
  color: var(--color-primary);
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

.footer-nav {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}

.footer-link {
  display: block;
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 100%;
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.3s ease;
  position: relative;
  width: fit-content;
}

.footer-link::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  /* background-color: #ffffff; */
  background-color: var(--color-primary);
  transition: width 0.3s ease;
}

.footer-link:hover::after,
.footer-link.active::after {
  width: 100%;
}

/* .footer-link:hover {
  color: #ffffff;
} */

/* Apoio Institucional */
.footer-support {
  max-width: 1400px;
  margin: 0 auto;
  padding-top: 2rem;
}

.support-title {
  color: var(--color-primary);
  font-size: 0.9rem;
  font-weight: 600;
  /* margin-bottom: 1.5rem; */

  @media (max-width: 999px) {
    text-align: center;
  }
}

.support-logos {
  display: flex;
  gap: 5rem;
  align-items: center;
  margin-top: 0.8rem;
  border-top: 1px solid var(--color-primary);
  padding-top: 18px;
}

.support-logo {
  max-height: 60px;
}

/* Footer Bottom */
.footer-bottom {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2rem;
  margin-top: 2rem;
  border-top: 1px solid rgba(44, 62, 80, 0.2);
  font-size: 0.9rem;
  color: var(--color-primary);
}

.privacy-link {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
}

.footer-container {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 4rem;
  margin-bottom: 2rem;
}

.footer-right-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.footer-right-wrapper > div:first-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;

  @media (max-width: 999px) {
    display: none;
  }
}

.footer-support {
  width: 100%;
  padding-top: 2rem;
  margin-top: 1rem;

  @media (max-width: 999px) {
    max-width: 630px;
  }
}

.copyright {
  text-align: center;
  padding-top: 30px;
  margin-top: 30px;
  border-top: 1.6px solid var(--color-primary);
  display: flex;
  justify-content: space-between;
  align-items: center;

  max-width: 1280px;
  margin-inline: auto;

  @media (max-width: 1280px) {
    padding: 0 20px;
  }
}

.copyright p,
.copyright a {
  font-family: var(--font-manrope);
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 150%;

  color: var(--color-primary);
}

/* .copyright a {
  text-decoration: none;
} */

.copyright a:hover {
  color: var(--color-secondary);
}

/* Responsivo */
@media (max-width: 768px) {
  .footer-container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .support-logos {
    /* flex-wrap: wrap; */
    gap: 1.7rem;
    justify-content: center;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}

/* Responsive Design */
@media (max-width: 999px) {
  .nav-menu {
    justify-content: right;
  }

  .hero-content {
    grid-template-columns: 1fr;
  }

  .hero-title {
    font-size: 40px;
  }

  .hero-subtitle {
    font-size: 36px;
  }

  .wtd-section {
    max-width: 780px;
  }

  .wtd-content {
    grid-template-columns: 1fr;
    gap: 0px;
  }

  .partners-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-content {
    grid-template-columns: 1fr;
  }

  .btn-newsletter {
    display: none;
  }

  .container-wtd {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media (max-width: 999px) {
  .container {
    padding: 0 20px;
  }

  .nav-menu {
    display: none;
  }

  .mobile-menu-toggle {
    display: flex;
  }

  .hero {
    padding: 0;
  }

  .hero-title {
    font-size: 2.625rem;
  }

  .hero-subtitle {
    font-size: 28px;
  }

  .hero-image {
    height: 300px;
  }

  .wtd-button {
    margin-bottom: 20px;
  }

  .partners-grid {
    grid-template-columns: repeat(6, 1fr);
    display: grid;
    justify-items: center;
    max-width: 700px;
  }

  .footer-bottom {
    grid-template-columns: 1fr;
  }

  .support-logos {
    justify-content: center;
  }

  .copyright {
    /* flex-direction: column;
    gap: 10px; */
    padding-top: 10px;
  }
}

@media (max-width: 834px) {
  .cards-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .partners-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .copyright {
    padding-inline: 15px;
  }
}

@media (max-width: 768px) {
  .top-bar {
    display: none;
  }

  .wtd-section {
    padding: 56px 17px;
    margin-inline: 17px;

    .container {
      padding-inline: 0;
    }
  }

  .wtd-header {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;

    div {
      order: 2;
    }

    img {
      order: 1;
      margin-bottom: 50px;
    }
  }

  .section-title {
    font-size: 28px;
  }

  .section-subtitle {
    font-size: 24px;
    margin: 0;
  }

  .wtd-intro {
    margin-top: 64px;
    margin-bottom: 56px;
  }
}

/* Infográfico Section */
.infografico {
  padding-top: 9.125rem;
  position: relative;
}

.infografico .container {
  position: relative;
}

/* Section comum */
.info-section {
  margin-bottom: 6rem;
}

.info-header {
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: 1.5rem;
  margin-bottom: 4.625rem;
  align-items: start;
}

.info-title {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-primary);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -1px;
}

.info-title-right {
  order: 2;
  text-align: right;
}

.info-description {
  font-family: var(--font-afacad);
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 125%;
  color: var(--color-primary);
  border-left: 3px solid var(--color-primary);
  padding-left: 1.5rem;
}

.info-header:has(.info-title-right) {
  grid-template-columns: 2fr 1fr;
}

.info-header:has(.info-title-right) .info-description {
  border-left: none;
  border-right: 3px solid var(--color-primary);
  padding-left: 0;
  padding-right: 1.5rem;
  text-align: right;
}

/* ============================================
   CLASSES MODIFICADORAS DO INFO-HEADER
   ============================================ */

/* Variação 1: Padrão (Imagem 1)
   Título à esquerda, conteúdo à direita
   Já é o padrão, não precisa de classe adicional */

/* Variação 2: Conteúdo à esquerda, título à direita centralizado (Imagem 2) */
.info-header--reverse-center {
  grid-template-columns: 1fr 1.3fr;
  align-items: center;
}

.info-header--reverse-center .info-description {
  order: 1;
  border-left: 3px solid var(--color-primary);
  border-right: none;
  padding-left: 1.5rem;
  padding-right: 0;
  text-align: left;
}

.info-header--reverse-center .info-title,
.info-header--reverse-center .hero-title {
  order: 2;
  text-align: center;
}

/* Variação 3: Título à esquerda alinhado à esquerda, conteúdo à direita (Imagem 3) */
.info-header--left-aligned {
  grid-template-columns: 1fr 1fr;
  align-items: start;
}

.info-header--left-aligned .info-title,
.info-header--left-aligned .hero-title {
  text-align: left;
}

.info-header--left-aligned .info-description {
  border-left: 3px solid var(--color-primary);
  border-right: none;
  padding-left: 1.5rem;
  padding-right: 0;
  text-align: left;
}

/* Variação 4: Título à direita alinhado à direita, bem afastado do conteúdo (Imagem 4) */
.info-header--spaced-right {
  grid-template-columns: 1fr 1.2fr;
  gap: 3rem;

  .info-card {
    max-width: 500px;
  }
}

.info-header--spaced-right .info-description {
  order: 1;
  border-left: 3px solid var(--color-primary);
  border-right: none;
  padding-left: 1.5rem;
  padding-right: 0;
  text-align: left;
}

.info-header--spaced-right .info-title,
.info-header--spaced-right .hero-title {
  order: 2;
  text-align: right;
}

/* Variação 5: Similar ao padrão mas com maior espaçamento (Imagem 5) */
.info-header--spaced {
  grid-template-columns: 1.2fr 1fr;
  gap: 3rem;
  align-items: start;
}

.info-header--spaced .info-description {
  border-left: 3px solid var(--color-primary);
  padding-left: 1.5rem;
  text-align: left;
}

/* Grid de Cards */
.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: space-between;
  gap: 4rem;
}

.info-grid-2col {
  grid-template-columns: repeat(2, 1fr);
  gap: 6rem;

  .info-card {
    max-width: 500px;
  }
}

.info-grid-3col {
  /* grid-template-columns: repeat(3, 1fr); */
  grid-template-columns: repeat(3, auto);
}

.info-card {
  display: flex;
  flex-direction: column;
  max-width: 280px;
}

.info-icon {
  margin-bottom: 2.188rem;
}

.info-icon svg {
  display: block;
}

.info-number {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 30px;
  line-height: 40px;
  letter-spacing: 0.01em;
  color: var(--color-tertiary);
  mix-blend-mode: normal;
  margin-bottom: 0.75rem;

  @media (max-width: 768px) {
    font-size: 28px;
  }
}

.info-subtitle {
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--color-primary);
  text-transform: uppercase;
}

.info-text {
  font-family: var(--font-afacad);
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 125%;
  color: var(--color-primary);
  margin-bottom: 0.75rem;

  strong {
    color: var(--color-tertiary);
  }
}

.info-source {
  font-family: var(--font-afacad);
  font-style: italic;
  font-weight: 500;
  font-size: 14px;
  line-height: 140%;
  color: var(--color-tertiary);
}

/* Caminhos para mudança - Steps */
.info-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5rem;

  &.cols-3 {
    grid-template-columns: repeat(3, 1fr);
    @media (max-width: 768px) {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 1024px) {
    gap: 3rem;
  }
}

.info-step {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.step-number {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: 0.01em;
  color: var(--color-tertiary);

  mix-blend-mode: normal;
}

.step-title {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: 0.01em;
  color: var(--color-tertiary);
  mix-blend-mode: normal;

  @media (max-width: 1024px) {
    font-size: 24px;
  }

  @media (max-width: 768) {
    font-size: 20px;
  }
}

.step-text {
  font-family: var(--font-afacad);
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 125%;
  color: var(--color-primary);

  strong {
    color: var(--color-tertiary);
  }
}

/* CTA Section */
.info-cta-section {
  margin-bottom: 4rem;
}

.info-cta-box {
  background-color: rgba(61, 48, 102, 0.08);
  border: 3px solid var(--color-primary);
  border-radius: 16px;
  padding: 3rem;
}

.info-cta-title {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-primary);
  line-height: 1.1;
  text-transform: uppercase;
  margin-bottom: 2.5rem;
  text-align: center;
}

.info-cta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

.info-cta-item {
  text-align: center;
}

.cta-number {
  font-size: 1rem;
  font-weight: 700;
  color: #a0423a;
  margin-bottom: 0.5rem;
}

.cta-title {
  font-size: 1.3rem;
  font-weight: 900;
  color: var(--color-primary);
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.cta-text {
  font-size: 0.9rem;
  color: var(--color-primary);
  line-height: 1.5;
}

/* Background */
.info-background {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}

.info-background svg {
  display: block;
}

/* Responsivo */
@media (max-width: 999px) {
  .infografico {
    padding-top: 6.5rem;
  }

  .info-header {
    grid-template-columns: 1.5fr 2fr;
    gap: 1.5rem;
  }

  .info-header:has(.info-title-right) {
    /* grid-template-columns: 1fr; */
  }

  .info-header:has(.info-title-right) .info-description {
    border-right: none;
    border-left: 3px solid var(--color-primary);
    padding-right: 0;
    padding-left: 1.5rem;
    text-align: left;
  }

  .info-title-right {
    text-align: left;
  }

  .info-grid {
    /* grid-template-columns: repeat(2, 1fr); */
  }

  .info-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .info-cta-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

@media (max-width: 834px) {
  .info-header {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .info-header:has(.info-title-right) {
    grid-template-columns: 1fr;
  }

  .info-header:has(.info-title-right) .info-description {
    border-right: none;
    border-left: 3px solid var(--color-primary);
    padding-right: 0;
    padding-left: 1.5rem;
    text-align: left;
  }

  .info-title-right {
    text-align: left;
  }

  .info-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .info-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .info-cta-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

@media (max-width: 768px) {
  .infografico {
    padding: 3rem 0;
  }

  .infografico-container {
    padding: 0 1.5rem;
  }

  .info-section {
    margin-bottom: 4rem;
  }

  .info-title {
    font-size: 2rem;
  }

  /* Responsividade para classes modificadoras do info-header */
  .info-header,
  .info-header--reverse-center,
  .info-header--left-aligned,
  .info-header--spaced-right,
  .info-header--spaced {
    grid-template-columns: 1fr;
    gap: 0;
    align-items: start;
  }

  .info-header--reverse-center .info-description,
  .info-header--spaced-right .info-description {
    order: 2;
    border-left: 3px solid var(--color-primary);
    border-right: none;
    padding-left: 1.5rem;
    padding-right: 0;
    text-align: left;
  }

  .info-header--reverse-center .info-title,
  .info-header--reverse-center .hero-title,
  .info-header--spaced-right .info-title,
  .info-header--spaced-right .hero-title {
    order: 1;
    text-align: left;
  }

  .info-grid,
  .info-grid-2col {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .info-steps {
    grid-template-columns: 1fr;
  }

  .info-cta-box {
    padding: 2rem 1.5rem;
  }

  .info-cta-title {
    font-size: 2rem;
  }
}

/* Sobre o DMB Section */
.sobre-dmb {
  /* background-color: #81294E; */
  padding: 0;
  position: relative;
}

.sobre-dmb .container {
  padding-top: 4.75rem;
}

/* Header */
.sobre-header {
  /* padding: 4rem 6% 0; */
  position: relative;
  /* background-color: #81294E; */

  .container {
    padding-top: 0;
  }
}

.cor-header-dmb {
  background-color: #81294e;
}

.cor-header-parceiros {
  background-color: var(--color-tertiary);
}

.sobre-title {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 72px;
  line-height: 110%;
  color: #e9e7e0;
  mix-blend-mode: normal;
  /* padding: 6rem 0 4.25rem; */
  padding: 6rem 0;
}

.sobre-wave {
  width: 100%;
  position: relative;
  /* margin-top: 2rem; */
  margin-top: -4rem;

  @media (max-width: 1120px) {
    margin-top: -3rem;
  }
  @media (max-width: 850px) {
    margin-top: -2rem;
  }
  @media (max-width: 768px) {
    margin-top: -3rem;
  }
}

.sobre-wave img {
  width: 100%;
}

/* Conteúdo */
.sobre-content {
  /* background-color: #e8e4d9; */
  padding: 4rem 6%;
  margin-top: -52px;
}

/* Intro Section */
.sobre-intro {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3rem;
  align-items: start;
  margin-bottom: 4rem;
}

.intro-text {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.intro-title {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 48px;
  line-height: 110%;
  color: var(--color-primary);
  mix-blend-mode: normal;
}

.intro-highlight {
  color: var(--color-tertiary);
}

.intro-description {
  border-left: 4px solid var(--color-tertiary);
  padding-left: 2rem;
  margin-bottom: 40px;
}

.intro-description p {
  font-family: var(--font-afacad);
  font-style: normal;
  font-weight: 500;
  font-size: 24px;
  line-height: 130%;
  color: var(--color-primary);
}

.intro-description strong {
  font-weight: 700;
}

.intro-badge {
  flex-shrink: 0;
}

/* Text Block */
.sobre-text-block {
  margin-bottom: 4rem;
}

.sobre-text-block p {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 130%;
  color: var(--color-text);

  margin-bottom: 18px;
}

.sobre-text-block p:last-child {
  margin-bottom: 0;
}

/* Tema Proposto */
.sobre-tema {
  margin-bottom: 3rem;
}

.tema-title {
  font-size: 1.8rem;
  font-weight: 900;
  color: #8b4560;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

.tema-text {
  font-size: 1rem;
  color: var(--color-primary);
  line-height: 1.7;
}

/* CTA */
.sobre-cta {
  margin-bottom: 4rem;
}

.cta-title {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 32px;
  line-height: 125%;
  text-transform: uppercase;
  color: var(--color-tertiary);
}

.cta-text {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 130%;
  color: var(--color-text);
  margin-bottom: 16px;
}

.cta-link {
  color: var(--color-tertiary);
  text-decoration: none;
  font-weight: 700;
  transition: color 0.3s ease;
}

.cta-link:hover {
  color: #6b3348;
}

.intro-description .cta-link {
  text-decoration: underline;
}

/* Edições Anteriores */
.sobre-edicoes {
  margin-top: 8rem;
}

.edicoes-main-title {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 48px;
  line-height: 110%;
  color: var(--color-primary);
  mix-blend-mode: normal;
  margin-bottom: 3rem;
}

.edicoes-highlight {
  color: var(--color-tertiary);
}

.edicoes-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.edicao-item {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.edicao-year {
  font-family: var(--font-afacad);
  font-style: normal;
  font-weight: 700;
  font-size: 30px;
  line-height: 125%;
  text-transform: uppercase;
  color: var(--color-primary);
}

.edicao-link {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 600;
  font-size: 22px;
  line-height: 125%;
  text-decoration-line: underline;
  color: var(--color-tertiary);
}

.edicao-link:hover {
  color: #6b3348;
}

/* Responsivo */
@media (max-width: 1024px) {
  /* .sobre-header {
    padding: 3rem 4% 0;
  } */

  .sobre-content {
    padding: 3rem 4%;
  }

  .sobre-title {
    font-size: 3rem;
  }

  .sobre-intro {
    grid-template-columns: 1fr;
  }

  .intro-badge {
    display: none;
  }

  .intro-title {
    font-size: 2.2rem;
  }
}

@media (max-width: 768px) {
  .sobre-header {
    padding: 2rem 3% 0;
  }

  .sobre-content {
    padding: 2rem 3%;
  }

  .sobre-title {
    font-size: 2.5rem;
    margin-bottom: 2rem;
  }

  .intro-title {
    font-size: 1.8rem;
  }

  .intro-description {
    padding-left: 1.5rem;
  }

  .tema-title,
  .cta-title {
    font-size: 1.5rem;
  }

  .edicoes-main-title {
    font-size: 2rem;
  }

  .edicao-year {
    font-size: 1.1rem;
  }
}

@media (max-width: 480px) {
  .sobre-header {
    padding: 2rem 5% 0;
  }

  .sobre-content {
    padding: 2rem 5%;
  }

  .sobre-title {
    font-size: 2rem;
  }

  .intro-title {
    font-size: 1.7rem;
  }

  /* .intro-description {
    border-left-width: 3px;
    padding-left: 1rem;
  } */

  /* .intro-description p,
  .sobre-text-block p,
  .tema-text,
  .cta-text {
    font-size: 0.95rem;
  } */

  .tema-title,
  .cta-title {
    font-size: 1.3rem;
  }

  .edicoes-main-title {
    font-size: 1.8rem;
  }

  .edicoes-list {
    gap: 2rem;
  }
}

.video-campanha {
  margin-top: 2.5rem;
}

/* materiais */

.materiais {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem;
  margin-bottom: 6.5rem;

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

  @media (max-width: 768px) {
    grid-template-columns: 1fr;
  }
}

.material {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}

.material-image {
  object-fit: cover;
  width: 100%;
}

.material-info {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 125%;
  color: var(--color-text);
  margin-block: 2rem;
}

.material-button {
  padding: 12px 15px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;

  &:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  }
}

/* Websérie Section */
.webserie {
  padding: 5rem 0 10rem;
}

.webserie-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  text-align: center;
}

.webserie-title {
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 40px;
  line-height: 125%;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-tertiary);
  margin-bottom: 3rem;
}

/* Vídeo Principal */
.webserie-main-video {
  margin-bottom: 5rem;
}

.video-wrapper {
  max-width: 480px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  background-color: #000;
  /* border-radius: 8px; */
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.video-placeholder {
  width: 100%;
  height: 100%;
  display: block;
}

.video-wrapper iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

/* Subtitle */
.webserie-subtitle {
  font-size: 2rem;
  font-weight: 900;
  color: #a0423a;
  text-transform: uppercase;
  margin-bottom: 2.5rem;
  letter-spacing: -1px;
}

/* Episódios */
.webserie-episodes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-bottom: 3rem;
}

.episode-card {
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* .episode-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
} */

.episode-title {
  /* min-height: 75px; */
  font-family: var(--font-titles);
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 125%;
  text-align: center;
  color: var(--color-tertiary);
  margin-bottom: 1.5rem;
}

.episode-thumbnail {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  /* margin-bottom: 1rem; */
}

.episode-thumbnail svg {
  display: block;
}

.episode-thumbnail iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

.episode-link {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 100%;
  text-decoration-line: underline;
  color: var(--color-primary);
  margin-top: 2.5rem;
  text-align: center;
}

.episode-link:hover {
  color: var(--color-tertiary);
  text-decoration: underline;
}

/* Link */
.webserie-link {
  font-size: 1.1rem;
  color: var(--color-primary);
  margin-bottom: 3rem;
  line-height: 1.6;
}

.link-text {
  color: #a0423a;
  font-weight: 700;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}

.link-text:hover {
  opacity: 0.7;
}

/* Botões CTA */
.webserie-ctas {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.webserie-button {
  padding: 1rem 2rem;
  font-size: 1rem;
  border: 3px solid var(--color-primary);
  border-radius: 8px;
  background-color: #ff8c42;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.webserie-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

/* Parceiros */

/* O container principal (Grid) */
.parceiros {
  display: grid;
  /* 6 colunas de tamanho igual em desktop */
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; /* Espaço entre os itens */

  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding-bottom: 8.75rem;
  box-sizing: border-box;
}

/* 1. O ITEM COMPLETO (Link) */
.parceiro-item {
  display: flex;
  flex-direction: column; /* Empilha os itens verticalmente */
  align-items: center; /* Centraliza horizontalmente */
  text-decoration: none;
  font-family: Arial, sans-serif; /* Use a fonte do seu site */

  border-radius: 10px;
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* 2. A CAIXA BRANCA DO LOGO */
.parceiro-logo {
  width: 100%;
  aspect-ratio: 1 / 1; /* Força a caixa a ser um quadrado perfeito */
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); /* Sombra suave */

  /* Centraliza a imagem do logo */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
  box-sizing: border-box;
}

/* Efeito de "hover" sutil no item */
/* .parceiro-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
} */

/* A imagem do logo em si */
.parceiro-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* Garante que o logo caiba sem distorcer */
}

/* 3. O NOME DO PARCEIRO */
.parceiro-nome {
  margin-top: 15px;
  color: var(--color-primary); /* Cor preta, como no site */
  font-size: 14px;
  font-weight: 600; /* Semi-bold */
  line-height: 1.4;

  /* Garante altura mínima para 3 linhas, alinhando os ícones */
  min-height: 2.5em; /* 1.4em * 3 linhas */
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Limita a 3 linhas */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 4. O ÍCONE DE GLOBO (SVG) */
.parceiro-icone {
  margin-top: 8px;
  width: 24px;
  height: 24px;
}

/* Aqui está o truque: 
  Sobrepõe o "stroke=black" de dentro do SVG 
  pela cor cinza usada no site real.
*/
.parceiro-icone path {
  stroke: var(--color-tertiary);
}

/* --- RESPONSIVIDADE --- */

/* Telas menores (ex: tablets) */
@media (max-width: 1024px) {
  .parceiros {
    grid-template-columns: repeat(4, 1fr); /* 4 colunas */
  }
}

/* Tablets em modo retrato */
@media (max-width: 768px) {
  .parceiros {
    grid-template-columns: repeat(3, 1fr); /* 3 colunas */
    gap: 15px;
  }
  .parceiro-nome {
    font-size: 13px;
    min-height: 3.9em; /* 1.3em * 3 linhas */
  }
}

/* Celulares */
@media (max-width: 480px) {
  .parceiros {
    grid-template-columns: repeat(2, 1fr); /* 2 colunas */
    gap: 10px;
    padding: 10px;
  }
  .parceiro-item {
    padding: 15px;
  }
}

/* Responsivo - Tablet */
@media (max-width: 1024px) {
  .webserie-title {
    font-size: 2rem;
  }

  .webserie-subtitle {
    font-size: 1.6rem;
  }

  .webserie-episodes {
    grid-template-columns: repeat(3, 1fr);
  }

  .episode-title {
    font-size: 20px;
  }
}

@media (max-width: 999px) {
  .webserie-episodes {
    grid-template-columns: repeat(3, 1fr);
  }

  .episode-title {
    font-size: 18px;
    min-height: 70px;
  }
}

/* Responsivo - Mobile */
@media (max-width: 768px) {
  .webserie {
    padding: 3rem 0;
  }

  .webserie-container {
    padding: 0 1.5rem;
  }

  .webserie-title {
    font-size: 2.5rem;
    margin-bottom: 2rem;
  }

  .webserie-subtitle {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }

  .webserie-episodes {
    grid-template-columns: 1fr;
    gap: 4.688rem;
    margin-bottom: 2rem;
  }

  .episode-title {
    font-size: 20px;
    margin-bottom: 1.5rem;
  }

  .episode-link {
    margin-top: 40px;
    font-size: 16px;
  }

  .webserie-link {
    font-size: 1rem;
    margin-bottom: 2rem;
  }

  .webserie-ctas {
    flex-direction: column;
    gap: 1rem;
  }

  .webserie-button {
    width: 100%;
    text-align: center;
  }
}
/* 
@media (max-width: 480px) {
  .webserie-title {
    font-size: 1.5rem;
  }

  .webserie-subtitle {
    font-size: 1.2rem;
  }

  .webserie-button {
    padding: 0.875rem 1.5rem;
    font-size: 0.95rem;
  }
} */

/* Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* .hero-text,
.hero-image,
.card {
  animation: fadeInUp 0.8s ease-out;
} */

.card:nth-child(2) {
  animation-delay: 0.2s;
}

@media (max-width: 768px) {
  .page-tamanho_do_problema .hero-badges {
    display: flex;
    justify-content: center;
  }

  .page-tamanho_do_problema .hero-title {
    font-size: 2rem !important;
  }

  .page-tamanho_do_problema .info-description {
    font-size: 1.125rem;
  }
}
.iniciativas .sobre-text-block strong {
  font-family: var(--font-inter);
  font-style: normal;
  font-weight: 700;
  font-size: 22px;
  line-height: 125%;
  color: var(--color-tertiary);

}