:root {
  /*! Typography - Size */
  --font-size-h1: 36px;
  --font-size-h2: 28px;
  --font-size-h3: 26px;
  --font-size-h4: 22px;
  --font-size-h5: 20px;
  --font-size-h6: 18px;
  --font-size-display: 36px;
  --font-size-base: 16px;
  --font-size-s: 14px;
  --font-size-xs: 12px;
  --font-size-label: 11px;

  /*! Typography - Weight */
  --font-light: 300;
  --font-regular: 400;
  --font-semi-bold: 600;
  --font-bold: 700;

  /*! Color - Extended */
  --color-red-lightest: #faeaea;
  --color-red-lighter: #e9aaaa;
  --color-red-light: #d96a6a;
  --color-red: #c92a2a;
  --color-red-dark: #ab2424;
  --color-red-darker: #8d1d1d;
  --color-red-darkest: #6f1717;
  --color-orange-lightest: #fef0e6;
  --color-orange-lighter: #fcc29c;
  --color-orange-light: #f99551;
  --color-orange: #f76707;
  --color-orange-dark: #d25806;
  --color-orange-darker: #ad4805;
  --color-orange-darkest: #883904;
  --color-yellow-lightest: #fef5e5;
  --color-yellow-lighter: #fbd999;
  --color-yellow-light: #f8bc4c;
  --color-yellow: #f59f00;
  --color-yellow-dark: #d08700;
  --color-yellow-darker: #ac6f00;
  --color-yellow-darkest: #875700;
  --color-lime-lightest: #f1f8e8;
  --color-lime-lighter: #c7e3a2;
  --color-lime-light: #9ecd5c;
  --color-lime: #74b816;
  --color-lime-dark: #639c13;
  --color-lime-darker: #51810f;
  --color-lime-darkest: #40650c;
  --color-green-lightest: #ebf7ed;
  --color-green-lighter: #afe0b8;
  --color-green-light: #73c982;
  --color-green: #37b24d;
  --color-green-dark: #2f9741;
  --color-green-darker: #267d36;
  --color-green-darkest: #1e622a;
  --color-teal-lightest: #e6f2ef;
  --color-teal-lighter: #9cccbd;
  --color-teal-light: #52a58c;
  --color-teal: #087f5b;
  --color-teal-dark: #076c4d;
  --color-teal-darker: #065940;
  --color-teal-darkest: #044632;
  --color-cyan-lightest: #e7f2f4;
  --color-cyan-lighter: #9eccd3;
  --color-cyan-light: #56a6b2;
  --color-cyan: #0d8091;
  --color-cyan-dark: #0b6d7b;
  --color-cyan-darker: #095a66;
  --color-cyan-darkest: #074650;
  --color-blue-lightest: #e8f2fa;
  --color-blue-lighter: #a3c9ea;
  --color-blue-light: #5fa1db;
  --color-blue: #1a79cb;
  --color-blue-dark: #1667ad;
  --color-blue-darker: #12558e;
  --color-blue-darkest: #0e4370;
  --color-indigo-lightest: #eceffd;
  --color-indigo-lighter: #b3c1f7;
  --color-indigo-light: #7b92f1;
  --color-indigo: #4263eb;
  --color-indigo-dark: #3854c8;
  --color-indigo-darker: #2e45a5;
  --color-indigo-darkest: #243681;
  --color-violet-lightest: #f1edfd;
  --color-violet-lighter: #c6b6f6;
  --color-violet-light: #9b7fef;
  --color-violet: #7048e8;
  --color-violet-dark: #5f3dc5;
  --color-violet-darker: #4e32a2;
  --color-violet-darkest: #3e2880;
  --color-grape-lightest: #f7ecfa;
  --color-grape-lighter: #dfb2e9;
  --color-grape-light: #c678d9;
  --color-grape: #ae3ec9;
  --color-grape-dark: #9435ab;
  --color-grape-darker: #7a2b8d;
  --color-grape-darkest: #60226f;
  --color-pink-lightest: #fbebf0;
  --color-pink-lighter: #efadc4;
  --color-pink-light: #e27098;
  --color-pink: #d6336c;
  --color-pink-dark: #b62b5c;
  --color-pink-darker: #96244c;
  --color-pink-darkest: #761c3b;
  /*! Color - Neutral */
  --color-neutral-0: #ffffff;
  --color-neutral-1: #f8f9fa;
  --color-neutral-2: #f1f3f5;
  --color-neutral-3: #e9ecef;
  --color-neutral-4: #dee2e6;
  --color-neutral-5: #ced4da;
  --color-neutral-6: #adb5bd;
  --color-neutral-7: #6a7178;
  --color-neutral-8: #4f575e;
  --color-neutral-9: #272b30;
  --color-neutral-10: #101213;
  /*! Color - Semantic */
  --color-error-light: #fceaea;
  --color-error: #dc2020;
  --color-warning-light: #fdf6e5;
  --color-warning: #e9a100;
  --color-success-light: #eaf3eb;
  --color-success: #29823b;
  --color-info-light: #e5f5fc;
  --color-info: #017aad;

  /*! Color - Brand */
  --color-primary: #d10288;
  --color-secondary: #7f1146;
  --color-background: #ffffff;
  --color-text-primary: #031471;

  /*! Overlays */
  --overlay-background: rgba(0, 0, 0, 0.35);
  --overlay-background-hard: rgba(0, 0, 0, 0.5);

  /*! Space - Sizes */
  --space-none: 0;
  --space-xs: 4px;
  --space-s: 8px;
  --space-base: 16px;
  --space-m: 24px;
  --space-l: 32px;
  --space-xl: 40px;
  --space-xxl: 48px;

  /*! Border Radius */
  --border-radius-none: 0;
  --border-radius-soft: 4px;
  --border-radius-rounded: 100px;
  --border-radius-circle: 100%;
  /*! Border Size */
  --border-size-none: 0;
  --border-size-s: 1px;
  --border-size-m: 2px;
  --border-size-l: 3px;
  /*! Elevation / Shadow */
  --shadow-none: none;
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.1);
  --shadow-s: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-m: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-l: 0 6px 8px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 8px 10px rgba(0, 0, 0, 0.1);

  --shadow-darker-xs: 1px 1px 2px rgba(0, 0, 0, 1);
  --shadow-darker-s: 1px 2px 4px rgba(0, 0, 0, 1);
  --shadow-darker-m: 1px 4px 6px rgba(0, 0, 0, 1);
  --shadow-darker-l: 1px 6px 8px rgba(0, 0, 0, 1);
  --shadow-darker-xl: 1px 8px 10px rgba(0, 0, 0, 1);

  /*! App Settings */
  --font-family: "Montserrat", sans-serif;
  --base-padding: 10px;
  --header-height: 70px;
  --section-padding: 40px;
}

body {
  margin: 0;
  font-family: var(--font-family);
  font-size: var(--font-size-base);
}

.body-container {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-base);
  padding-right: var(--space-base);
  box-sizing: border-box;
  justify-content: space-between;
  align-items: center;
}

header {
  background-color: var(--color-background);
  padding: var(--base-padding) var(--space-none);
  position: fixed;
  width: 100%;
  top: var(--space-none);
  left: var(--space-none);
  z-index: 1000;
}

header .body-container {
  display: flex;
}

h1,
h2,
h3,
h4 {
  color: var(--color-text-primary);
}

h1 {
  font-size: var(--font-size-h1);
}

h2 {
  font-size: var(--font-size-h2);
}

h3 {
  font-size: var(--font-size-h3);
}

h4 {
  font-size: var(--font-size-h4);
}

.logo img {
  width: 261px;
}

.menu-toggle {
  display: none;
}

.hamburger {
  width: var(--space-l);
  height: var(--space-xs);
  background-color: var(--color-primary);
  margin: var(--space-xs) var(--space-none);
  cursor: pointer;
}

.hamburger::before,
.hamburger::after {
  content: "";
  display: block;
  width: 100%;
  height: var(--space-xs);
  background-color: var(--color-neutral-10);
  margin: var(--space-xs) var(--space-none);
}

.nav-links {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  margin-right: 20px;
}

.nav-links li {
  margin: var(--space-none) var(--space-s);
}

.nav-links li a {
  text-decoration: none;
  color: var(--color-primary); /* Cor primária */
}

.slider-container {
  display: none;
}

.slider-links {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.slider-links li {
  margin: var(--space-s) var(--space-none);
}

section {
  padding: var(--section-padding) var(--space-none);
  text-align: center;
}

footer {
  background-color: var(--color-neutral-2);
  padding: var(--space-base);
  text-align: center;
}

.redes-sociais img {
  width: 30px;
  margin: var(--space-none) var(--space-s);
}

form input,
form textarea {
  display: block;
  width: 100%;
  margin-bottom: var(--space-s);
  padding: var(--space-s);
  border-radius: var(--border-radius-soft);
  border: 1px solid var(--color-neutral-4);
}

form button {
  background-color: var(--color-primary);
  color: var(--color-background);
  border: none;
  padding: var(--space-s) var(--space-base);
  border-radius: var(--border-radius-soft);
  cursor: pointer;
}

form button:hover {
  background-color: var(--color-secondary);
}

/* Estilos para a sessão "Sobre Nós" */
.background-image {
  background-image: url("images/aboutus.png");
  background-size: cover;
  background-position: center;
  height: 450px; /* Ajuste conforme necessário */
  max-height: 450px;
  position: relative;
}

.background-image h1 {
  color: var(--color-neutral-0);
  font-weight: bold;
  text-align: center;
  padding-top: 100px; /* Ajuste conforme necessário */
  text-shadow: var(--shadow-darker-m);
}

.content-overlay {
  background-color: var(
    --overlay-background
  ); /* Adiciona uma sobreposição escura para melhorar a legibilidade do texto */
  padding: var(--space-base);
  padding-bottom: var(--space-none);
  color: var(--color-neutral-0);
  position: absolute;
  bottom: var(--space-none);
}

.content-overlay p {
  padding-bottom: var(--space-base);
}

.content-overlay h2 {
  color: var(--color-neutral-0);
  text-shadow: var(--shadow-darker-m);
}

/* Estilos para a seção "Serviços" */
.servicos-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.servicos-container img {
  max-width: 50%;
}

.servicos-text {
  flex: 1;
}

/* Estilo do balão de feedback */
#feedback-balloon {
  display: none; /* Escondido por padrão */
  background-color: var(--color-success); /* Cor de fundo */
  color: var(--color-neutral-0); /* Cor do texto */
  padding: var(--space-s); /* Espaçamento interno */
  border-radius: var(--border-radius-soft); /* Borda arredondada */
  margin-bottom: var(--space-s); /* Margem abaixo do balão */
}

/* Estilos da página de erro */
.page-404 {
  text-align: center;
  padding: 100px 20px;
}

.page-404 h1 {
  margin-bottom: var(--space-base);
}

.page-404 p {
  margin-bottom: var(--space-xl);
}

.home-link {
  background-color: var(--color-primary);
  color: var(--color-background);
  padding: var(--space-s) var(--space-base);
  border-radius: var(--border-radius-soft);
  text-decoration: none;
}

@media (max-width: 768px) {
  /* Estilos para ajustar imagens e texto nos breakpoints */
  .background-image h1 {
    padding-top: var(--space-xl); /* Ajuste conforme necessário */
    margin-bottom: var(--space-xl);
  }

  .servicos-container {
    flex-direction: column;
    text-align: center;
  }

  .servicos-container.align-right {
    flex-direction: column-reverse; /* Isso coloca a div antes da img */
  }

  .servicos-container img {
    max-width: 100%;
    margin-bottom: var(--space-s);
  }

  .servicos-text {
    padding: 0;
  }

  h1 {
    font-size: var(--font-size-h2);
  }

  h2 {
    font-size: var(--font-size-h4);
  }

  h3 {
    font-size: var(--font-size-h5);
  }

  h4 {
    font-size: var(--font-size-h6);
  }

  .menu-toggle {
    display: block;
    position: absolute;
    right: var(--space-base);
    cursor: pointer; /* Adiciona cursor pointer para indicar que é clicável */
  }

  :is(body):has(.nav-links.active)::after {
    content: "";
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: var(--overlay-background-hard);
    margin: var(--space-none);
    left: var(--space-none);
    bottom: var(--space-none);
  }

  .nav-links {
    position: fixed;
    top: calc(var(--header-height) - 1px);
    left: 100%; /* Inicialmente escondido */
    width: 55%;
    height: calc(101% - var(--header-height));
    background-color: var(--color-background);
    flex-direction: column;
    align-items: center;
    z-index: 999;
    transition: 0.3s;
  }

  .nav-links.active {
    display: flex; /* Mostra o menu quando ativo */
    left: 45%;
  }

  .nav-links li {
    margin: var(--space-base) 0;
  }
}
