:root {
    --azul-escuro: #0a2236;
    --laranja: #ff7d1a;
    --cinza-bg: #f7f8f4;
    --cinza-card: #f5f6fa;
    --cinza-busca: #f8f9fb;
    --cinza-img: #dde2e6;
    --cinza-txt: #b1b5bb;
    --branco: #fff;
    --sombra: 0 8px 32px rgba(10,34,54,0.10);
    --sombra-suave: 0 4px 16px rgba(10,34,54,0.07);
    --radius: 16px;
    --radius-grande: 18px;
  }
  body {
    margin: 0;
    font-family: 'Mulish', Arial, sans-serif;
    background: var(--cinza-bg);
    color: var(--azul-escuro);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
  }
  header {
    background: var(--azul-escuro);
    color: var(--branco);
    padding: 0;
    box-shadow: 0 2px 16px rgba(10,34,54,0.08);
  }
  main {
    flex: 1 0 auto;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 48px 0 100px 0;
    box-sizing: border-box;
  }
      .produtos-titulo {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .produtos-titulo::before {
      content: "❤";
      color: #ff7d1a;
      font-size: 1.3em;
    }
    
.nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 72px; /* Alterado de 48px para 72px */
  height: 68px;
}

.nav-left {
  display: flex;
  align-items: center;
  gap: 18px;
}

.logo {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: -1px;
  margin-right: 20px;
}

.nav-links {
  display: flex;
  gap: 36px;
}

.nav-links a {
  position: relative;
  color: var(--cor-branco);
  text-decoration: none;
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: color 0.2s;
  padding: 4px 0;
}

.nav-links a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 3px;
  border-radius: 2px;
  background: var(--laranja);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(.77,0,.18,1);
}

.nav-links a:hover::after,
.nav-links a.active::after {
  transform: scaleX(1);
}

.nav-profile a {
  position: relative;
  color: var(--cor-branco);
  text-decoration: none;
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  transition: color 0.2s;
  padding: 4px 0;
}

.nav-profile a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 3px;
  border-radius: 2px;
  background: var(--laranja);
  transform: scaleX(0);
  transform-origin: left;

}

.nav-profile a:hover::after,
.nav-profile a.active::after {
  transform: scaleX(1);
}

.nav-profile a.active,
.nav-profile a:hover {
  color: var(--laranja);
}

.nav-links a:hover, 
.nav-profile a:hover {
  color: var(--laranja);
  font-size: 1.08rem;
  font-weight: 500;
  transition: color 0.2s;
}

/* Menu dropdown perfil */
.nav-profile.dropdown {
  position: relative;
  display: inline-block;
}

.profile-btn {
  background: none;
  border: none;
  color: var(--cor-branco);
  font-size: 1em;
  cursor: pointer;
  padding: 8px 16px;
}

.dropdown-content {
  display: none;
  position: absolute;
  right: 0;
  background: #fff;
  min-width: 170px;
  box-shadow: 0 8px 24px rgba(10,34,54,0.10);
  border-radius:  8px;
  z-index: 10;
  padding: 0;
  margin: 0;
  
}

.dropdown-content a {
  position: relative;
  display: block;
  font-family: 'Poppins', Arial, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  padding: 14px 28px;
  color: #0a2236;
  text-decoration: none;
  border-radius: 0;
  background: none;
  transition: background 0.2s, color 0.2s;
  overflow: hidden;
}

/* Garante que todas as opções, incluindo "Sair", não tenham underline */
.dropdown-content a:visited,
.dropdown-content a:active,
.dropdown-content a:hover {
  text-decoration: none !important;
}

.dropdown-content a:hover,
.dropdown-content a.active {
  background-color: transparent;
}

.nav-profile:hover .dropdown-content {
  display: block;
}
.nav-links .dropdown-content a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  height: 2px;
  background: #ff7d1a;
  border-radius: 0;
  transform: scaleX(2);
  transform-origin: right;
  transition: transform 0.2s;
}

.nav-links .dropdown-content a:hover::after {
  transform: scaleX(1);
}

/* Arredondamento só quando hover na 1ª ou última */
.nav-links .dropdown-content a:first-child:hover::after {
  border-bottom-left-radius: 8px;
}
.nav-links .dropdown-content a:last-child:hover::after {
  border-bottom-right-radius: 8px;
}

  .busca-area {
    display: flex;
    align-items: flex-end;
    gap: 18px;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto 36px auto;
    background: var(--cinza-busca);
    border-radius: var(--radius-grande);
    box-shadow: var(--sombra-suave);
    padding: 24px 32px 18px 32px;
    min-width: 320px;
    max-width: 900px;
  }
  .busca-area input[type="text"] {
    flex: 2 1 220px;
    padding: 14px 18px;
    border: 1.5px solid var(--laranja);
    border-radius: var(--radius);
    font-size: 1.07rem;
    background: var(--branco);
    color: var(--laranja);
    box-shadow: 0 2px 8px rgba(10,34,54,0.04);
    outline: none;
    transition: box-shadow 0.2s;
    margin-bottom: 0;
  }
  .busca-area input[type="text"]:focus {
    box-shadow: 0 2px 12px rgba(255,125,26,0.13);
  }
  .busca-area .filtro-grupo {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 120px;
    flex: 1 1 120px;
  }
  .busca-area label {
    font-size: 1rem;
    color: var(--azul-escuro);
    font-weight: 600;
    margin-bottom: 2px;
    margin-left: 2px;
  }
  .busca-area select {
    padding: 10px 14px;
    border-radius: 18px;
    border: 1.5px solid #dde2e6;
    font-size: 1rem;
    background: #fff;
    color: #222;
    transition: border 0.2s, color 0.2s;
    outline: none;
    appearance: none;
    box-shadow: none;
  }
  .busca-area select:focus {
    border: 1.5px solid var(--laranja);
    color: var(--laranja);
  }
  .busca-area select option {
    color: #222;
    background: #fff;
    border-radius: 18px;
  }
  /* Efeito hover nas opções do select (apenas para custom select, mas para efeito visual no select) */
  .busca-area select:hover,
  .busca-area select:active {
    color: var(--laranja);
    border-color: var(--laranja);
  }
  /* Remove cor de fundo azul padrão do select em hover/focus */
  .busca-area select::-ms-expand {
    display: none;
  }
  .busca-area .filtro-btn {
    background: linear-gradient(90deg, var(--laranja) 60%, #ffb866 100%);
    color: var(--branco);
    border: none;
    border-radius: 8px;
    padding: 12px 32px;
    font-size: 1.07rem;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
    box-shadow: 0 2px 8px rgba(255,125,26,0.09);
    margin-left: 8px;
    margin-top: 18px;
    height: 44px;
    flex: 0 0 auto;
  }
  .busca-area .filtro-btn:hover {
    background: linear-gradient(90deg, #e66a12 60%, #ffb866 100%);
  }
  .produtos-titulo {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--azul-escuro);
    margin-bottom: 22px;
    margin-left: 11%;
    letter-spacing: -0.5px;
  }
  .produtos-lista-bg {
    background: var(--branco);
    border-radius: 22px;
    box-shadow: var(--sombra);
    padding: 38px 28px 32px 28px;
    margin: 0 auto;
    width: 78%;
    min-width: 320px;
    max-width: 1100px;
    display: flex;
    justify-content: center;
  }
  .produtos-lista {
    display: flex;
    gap: 38px;
    width: 100%;
    justify-content: center;
  }
  .produto-card {
    background: var(--cinza-card);
    border-radius: 18px;
    box-shadow: 0 2px 12px rgba(10,34,54,0.04);
    padding: 24px 20px 24px 20px; /* topo e fundo iguais */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 240px;
    min-width: 160px;
    transition: box-shadow 0.2s, transform 0.2s;
  }
  .produto-card:hover {
    box-shadow: 0 8px 32px rgba(255,125,26,0.13);
    transform: translateY(-4px) scale(1.025);
  }
  .produto-card .saber-mais-btn {
    background: linear-gradient(90deg, var(--laranja) 60%, #ffb866 100%);
    color: var(--branco);
    border: none;
    border-radius: 10px;
    padding: 13px 0;
    width: 100%;
    font-size: 1.08rem;
    font-weight: bold;
    cursor: pointer;
    margin-top: 18px; /* igual ao margin-bottom da imagem */
    transition: background 0.2s, transform 0.15s;
    box-shadow: 0 2px 8px rgba(255,125,26,0.09);
    letter-spacing: 0.01em;
  }
  .produto-card .saber-mais-btn:hover {
    background: linear-gradient(90deg, #e66a12 60%, #ffb866 100%);
    transform: translateY(-2px) scale(1.03);
  }
  .produto-img {
    width: 120px;
    height: 120px;
    background: var(--cinza-img);
    border-radius: 10px;
    margin-bottom: 18px;
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cinza-txt);
    font-size: 1.02rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.2;
  }
  .produto-img img {
    width: 120px !important;
    height: 120px !important;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(10,34,54,0.08);
    background: var(--cinza-img);
    display: block;
  }
  .produto-titulo {
    font-size: 1.09rem;
    font-weight: 700;
    color: var(--azul-escuro);
    margin-top: 4px;
    text-align: center;
    letter-spacing: 0.01em;
  }
  footer {
    background: var(--azul-escuro);
    color: var(--branco);
    text-align: center;
    padding: 20px 0 14px 0;
    font-size: 1rem;
    position: fixed;
    width: 100vw;
    bottom: 0;
    left: 0;
    z-index: 10;
    box-shadow: 0 -2px 8px rgba(10,34,54,0.09);
    letter-spacing: 0.02em;
  }
  .filtros-area {
    display: flex;
    gap: 24px;
    align-items: flex-end;
    margin: 0 auto 28px auto;
    width: 80%;
    max-width: 900px;
    background: var(--cinza-busca);
    border-radius: var(--radius-grande);
    box-shadow: var(--sombra-suave);
    padding: 18px 32px 14px 32px;
  }
  .filtro-grupo {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 120px;
  }
  .filtros-area label {
    font-size: 1rem;
    color: var(--azul-escuro);
    font-weight: 600;
    margin-bottom: 2px;
  }
  .filtros-area select {
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid #dde2e6;
    font-size: 1rem;
    background: #fff;
    color: #222;
    transition: border 0.2s;
  }
  .filtros-area select:focus {
    border: 1.5px solid #ff7d1a;
    outline: none;
  }
  .filtro-btn {
    background: linear-gradient(90deg, var(--laranja) 60%, #ffb866 100%);
    color: var(--branco);
    border: none;
    border-radius: 8px;
    padding: 12px 32px;
    font-size: 1.07rem;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
    box-shadow: 0 2px 8px rgba(255,125,26,0.09);
    margin-left: 16px;
    margin-top: 18px;
    height: 44px;
  }
  .filtro-btn:hover {
    background: linear-gradient(90deg, #e66a12 60%, #ffb866 100%);
  }
  .custom-select {
    position: relative;
    width: 170px;
    user-select: none;
  }
  .custom-select-trigger {
    display: block;
    padding: 10px 14px;
    border: 1.5px solid #ff7d1a;
    border-radius: 18px;
    background: #fff;
    color: #ff7d1a;
    font-size: 1rem;
    cursor: pointer;
    transition: border 0.2s;
  }
  .custom-options {
    display: none;
    position: absolute;
    top: 110%;
    left: 0;
    width: 100%;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 2px 12px rgba(10,34,54,0.09);
    z-index: 10;
    padding: 6px 0;
  }
  .custom-select.open .custom-options {
    display: block;
  }
  .custom-option {
    display: block;
    padding: 10px 18px;
    border-radius: 18px;
    color: #222;
    cursor: pointer;
    transition: color 0.2s, background 0.2s;
  }
  .custom-option:hover,
  .custom-option.active {
    color: #ff7d1a;
    background: transparent;
  }
  .custom-option.selected {
    font-weight: bold;
    color: #ff7d1a;
  }
  @media (max-width: 1100px) {
    .nav-bar {
      padding: 0 18px;
    }
    .busca-area, .produtos-lista-bg {
      width: 95%;
      min-width: unset;
      max-width: unset;
    }
    .produtos-titulo {
      margin-left: 2%;
    }
  }
  @media (max-width: 900px) {
    main {
      padding: 24px 0 100px 0;
    }
    .produtos-lista {
      gap: 18px;
    }
    .produto-card {
      width: 180px;
      padding: 12px 6px 12px 6px;
    }
    .busca-area {
      flex-direction: column;
      align-items: stretch;
      gap: 10px;
      padding: 18px 8px 14px 8px;
      width: 98%;
    }
    .busca-area .filtro-btn {
      width: 100%;
      margin-left: 0;
      margin-top: 8px;
    }
  }
  @media (max-width: 700px) {
    .nav-bar {
      flex-direction: column;
      height: auto;
      gap: 10px;
    }
    .busca-area {
      flex-direction: column;
      gap: 10px;
      padding: 18px 8px 14px 8px;
    }
    .produtos-lista-bg {
      padding: 10px 2px 10px 2px;
      border-radius: 12px;
    }
    .produtos-lista {
      flex-direction: column;
      gap: 14px;
      align-items: center;
    }
    .produto-card {
      width: 95vw;
      max-width: 340px;
    }
    .filtros-area {
      flex-direction: column;
      gap: 10px;
      padding: 12px 8px 10px 8px;
      width: 98%;
    }
    .filtro-btn {
      width: 100%;
      margin-left: 0;
      margin-top: 8px;
    }
  }