I´m having issues with my header withe the responsive for mobiles ad tables.
This is what I have:
/* Estilos base para o header */
header {
display: flex;
flex-direction: column;
background-color: #f7ede2; /* Fundo beige */
color: #523414; /* Texto castanho escuro */
box-shadow: 0 8px 16px rgba(82, 52, 20, 0.9); /* Sombra mais pronunciada castanho escuro */
z-index: 1000;
position: relative;
}
/* Estilo para a mensagem de frete grátis */
.free-shipping-message {
background-color: #f7ede2; /* Cor de fundo beige */
color: #523414; /* Cor do texto castanho escuro */
padding: 0rem;
text-align: center;
font-size: 1rem;
width: 100%;
animation: slide 30s linear infinite; /* Animação infinita */
}
@keyframes slide {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(-100%);
}
}
/* Estilo para o cabeçalho principal */
.main-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0rem;
width: 100%;
flex-wrap: wrap;
}
/* Estilo para a área à esquerda (menu e busca) */
.nav-left {
display: flex;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
}
/* Estilo para o ícone do menu hambúrguer */
.menu-icon {
cursor: pointer;
font-size: 2rem;
color: #523414;
}
/* Estilo para o ícone de busca */
.search-icon {
cursor: pointer;
font-size: 1.2rem;
color: #523414;
position: relative;
}
/* Estilo para a barra de pesquisa */
.search-bar {
position: absolute;
top: 100%; /* Posiciona abaixo do ícone da lupa */
left: 0; /* Alinha à esquerda do ícone da lupa */
transform: scaleX(0); /* Inicialmente oculta */
transform-origin: left; /* Expande a partir da esquerda */
width: 0; /* Inicialmente sem largura */
max-width: 300px; /* Largura máxima quando visível */
padding: 0.5rem;
border: 1px solid #5e3d17; /* Cor da borda */
border-radius: 20px; /* Bordas arredondadas */
background-color: #eedac3; /* Cor de fundo */
color: #5e3d17; /* Cor do texto */
transition: transform 0.3s ease, width 0.3s ease; /* Transições suaves */
white-space: nowrap; /* Impede quebra de linha */
z-index: 2; /* Garante que a barra de pesquisa esteja acima de outros elementos */
}
.search-bar.visible {
transform: scaleX(1); /* Mostra a barra */
width: 200px; /* Largura desejada quando expandida */
}
.search-bar input {
width: calc(100% - 2rem); /* Deixa espaço para o botão "x" */
padding: 0.5rem;
border: none;
background-color: transparent;
color: #5e3d17;
border-radius: 20px;
}
.search-bar input::placeholder {
color: #5e3d17;
}
/* Estilo para o botão de fechar da barra de pesquisa */
.close-button {
background: none;
border: none;
color: #5e3d17;
cursor: pointer;
font-size: 1.2rem;
position: absolute;
top: 50%;
right: 0.5rem;
transform: translateY(-50%);
}
/* Estilo para a área à direita (login e carrinho) */
.nav-right {
display: flex;
align-items: center;
gap: 1rem;
flex-wrap: wrap;
}
/* Estilo para os ícones de login e carrinho */
.icon {
font-size: 1.5rem;
color: #523414;
}
.logo {
font-family: fantasy;
color: #523414;
font-size: 1rem; /* Ajusta o tamanho do logo */
text-decoration: none;
margin: 0 auto; /* Centraliza o logo */
}
/* Estilo para o menu dropdown do menu hamburguer */
.menu-dropdown {
position: absolute;
top: 60px; /* Ajuste conforme necessário */
left: 0;
background-color: #f7ede2;
border: 1px solid #f7ede2;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
padding: 1rem;
width: 200px; /* Ajuste conforme necessário */
z-index: 1000;
}
.menu-section {
margin-bottom: 1rem;
}
.menu-section h2 {
margin-bottom: 0.5rem;
font-size: 1rem;
color: #5e3d17;
}
.menu-section ul {
list-style-type: none;
padding: 0;
}
.menu-section ul li {
margin-bottom: 0.5rem;
}
.menu-section ul li a {
text-decoration: none;
color: #5e3d17; /* Cor padrão dos links */
padding: 0.5rem;
display: block;
border-radius: 4px; /* Bordas arredondadas */
transition: background-color 0.3s ease, color 0.3s ease; /* Transições suaves */
}
.menu-section ul li a:hover {
text-decoration: underline;
color: #3e1e0a; /* Cor do texto quando o link está em hover */
background-color: #f7e6d2; /* Cor de fundo quando em hover */
}
/* Estilo para o link ativo no menu */
.menu-section ul li a.active {
color: #3e1e0a; /* Cor do texto quando o link está ativo */
font-weight: bold; /* Negrito quando ativo */
background-color: #f7e6d2; /* Cor de fundo quando ativo */
}
/* Estilo para o botão de fechar no menu dropdown */
.menu-close-button {
background: none;
border: none;
color: #523414;
font-size: 1.5rem;
cursor: pointer;
position: absolute;
top: 10px; /* Ajuste conforme necessário */
right: 10px; /* Ajuste conforme necessário */
}
/* Estilo para o link no menu hambúrguer */
.menu-section a {
text-decoration: none;
color: #5e3d17; /* Cor padrão dos links */
padding: 0.5rem;
display: block;
border-radius: 4px; /* Bordas arredondadas */
transition: background-color 0.3s ease, color 0.3s ease; /* Transições suaves */
}
/* Estilo para o hover do link no menu hambúrguer */
.menu-section a:hover {
text-decoration: underline;
color: #3e1e0a; /* Cor do texto quando o link está em hover */
background-color: #f7e6d2; /* Cor de fundo quando em hover */
}
/* Estilo para o link ativo no menu */
.menu-section a.active {
color: #3e1e0a; /* Cor do texto quando o link está ativo */
font-weight: bold; /* Negrito quando ativo */
background-color: #f7e6d2; /* Cor de fundo quando ativo */
}
.icon {
font-size: 1.5rem; /* Tamanho dos ícones */
color: #523414; /* Cor dos ícones */
position: relative; /* Necessário para o contador do carrinho */
}
/* Estilo específico para o botão do carrinho */
.button-cart {
display: flex;
align-items: center;
justify-content: center;
background: none;
border: none;
cursor: pointer;
padding: 0;
position: relative;
}
.button-cart .cart-item-count {
position: absolute;
top: -5px; /* Ajuste conforme necessário */
right: -10px; /* Ajuste conforme necessário */
background-color: #54a539; /* Cor de fundo vermelha */
color: white;
border-radius: 50%;
padding: 2px 6px;
font-size: 0.8rem;
font-weight: bold;
}
.button-cart .icon {
font-size: 1.5rem; /* Tamanho do ícone do carrinho */
color: inherit; /* Mantém a cor herdada */
}
/* Media Queries para tornar o header responsivo */
/* Para tablets (telas com largura de até 768px) */
@media (max-width: 768px) {
.main-header {
flex-direction: column;
align-items: flex-start; /* Alinha os itens no início */
}
.nav-left {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem; /* Reduz o espaço entre os itens para tablets */
}
.menu-icon {
font-size: 1.5rem; /* Reduz o tamanho do ícone do menu hambúrguer */
}
.search-icon {
font-size: 1.2rem; /* Reduz o tamanho do ícone de busca */
}
.search-bar {
position: static; /* Remove o posicionamento absoluto para melhor exibição */
width: 100%; /* Aumenta a largura da barra de pesquisa */
max-width: none; /* Remove a largura máxima */
margin-top: 0.5rem; /* Adiciona um espaço acima da barra de pesquisa */
}
.search-bar input {
width: calc(100% - 2rem); /* Ajusta a largura do input */
}
.nav-right {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem; /* Reduz o espaço entre os itens para tablets */
}
.logo {
font-size: 1.2rem; /* Ajusta o tamanho do logo */
margin: 0; /* Remove a margem auto para centralizar o logo */
}
}
/* Para dispositivos móveis (telas com largura de até 480px) */
@media (max-width: 480px) {
.main-header {
flex-direction: column;
align-items: flex-start;
padding: 0.5rem; /* Ajusta o padding do cabeçalho */
}
.nav-left {
gap: 0.5rem; /* Reduz o espaço entre os itens */
}
.menu-icon {
font-size: 1.2rem; /* Reduz ainda mais o tamanho do ícone do menu hambúrguer */
}
.search-icon {
font-size: 1rem; /* Reduz ainda mais o tamanho do ícone de busca */
}
.search-bar {
width: 100%; /* Garante que a barra de pesquisa ocupe toda a largura disponível */
max-width: none; /* Remove a largura máxima */
margin-top: 0.5rem; /* Adiciona um espaço acima da barra de pesquisa */
}
.search-bar input {
width: calc(100% - 1rem); /* Ajusta a largura do input */
}
.nav-right {
flex-direction: column;
align-items: flex-start;
gap: 0.5rem; /* Reduz o espaço entre os itens */
}
.logo {
font-size: 1rem; /* Ajusta o tamanho do logo */
margin: 0; /* Remove a margem auto para centralizar o logo */
}
}```