:root {
    --cor-fundo: #F5F5F5;
    --cor-card-cesta-fundo: #FAF4E1;

    --cor-fonte-padrao: #641000;
    --cor-fonte-cesta: #641000;
    --cor-fundo-menu: #5b3a29;
    --cor-fonte-cartao: #0e5700; /* cor cartão */
    --cor-fonte-descricao: #3D0A00;
    --cor-borda: #333333;
    --cor-branco: #fff;
    --cor-fundo-carrinho: #FAF4E1;
}

body {
    margin: 0;
    font-family: Verdana, sans-serif; /* só a família da fonte */
    font-size: 18px;                  /* tamanho separado */
    background-color: var(--cor-fundo);
}

h1 {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 0;
    color: var(--cor-fonte-cesta);
}

h2 {
    text-align: left;
    margin-top: 24px;
    color: var(--cor-fonte-cesta);
}

h3 {
    text-align: left;
    margin-top: 20px;
    color: var(--cor-fonte-cesta);
    font-size: 1rem;
}

.aviso-overlay {
    /* Centralização mágica com Flexbox */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.aviso {
  background-color: #ffffff;
  padding: 2rem;
  width: 90%;
  max-width: 400px; /* Evita que o box fique gigante em telas largas */

  /* Bordas arredondadas */
  border-radius: 15px;

  /* Centralização do texto e elementos internos */
  text-align: center;

  /* Sombra para dar profundidade */
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);

  /* Animação suave de entrada (opcional) */
  animation: fadeIn 0.3s ease-out;
}

.logo {
    font-size: 1.5rem;
    font-weight: 600;
}

.logo-link {
    text-decoration: none;
    color: var(--cor-branco);
}

.quadro {
    display: flex;
    flex-direction: column;
    padding: 20px;
}

.cestas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    gap: 20px;
    padding: 20px;
}

.conteudo {
    font-size: 1rem;
    color: var(--cor-fonte-descricao);
    line-height: 1.1;
    margin-top: 10px;
    padding: 20px;
    /* Novas propriedades */
    width: 80%;               /* Define a largura em 80% */
    max-width: 1200px;        /* Opcional: evita que a div fique larga demais em monitores gigantes */
    margin-left: auto;        /* Centraliza horizontalmente */
    margin-right: auto;       /* Centraliza horizontalmente */
    border-radius: 15px;      /* Arredonda as bordas (ajuste o valor como preferir) */
    
    /* Apenas para visualização (caso sua div não tenha fundo ou borda) */
    background-color: #d3c5c5; 
    border: 1px solid #645959;
}

/* Container do card */
.cesta-card {
    background-color: var(--cor-card-cesta-fundo);
    border: 1px solid var(--cor-fonte-padrao);
    border-radius: 10px;
    padding: 10px;
    width: 300px;
    max-width: 300px;
    font-family: 'Poppins', Arial, sans-serif;

    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Efeito hover */
.cesta-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

/* Nome da cesta */
.cesta-nome {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--cor-fonte-cesta);
    margin-bottom: 10px;
    margin-top: 14px;
    text-align: center;
    word-wrap: break-word; /* Fallback para navegadores antigos */
    overflow-wrap: break-word;
    hyphens: auto; /* Opcional: adiciona o hífen onde quebrar */
}

/* Preços */
.cesta-preco-pix {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--cor-fonte-padrao);
    margin-bottom: 4px;
    margin-top: 14px;
    text-align: center;
    font-family: 'Segoe UI', Arial, sans-serif;
}

.cesta-preco-cartao {
    font-size: 1rem;
    color: var(--cor-fonte-cartao);
    margin-bottom: 8px;
    text-align: center;
    font-family: 'Segoe UI', Arial, sans-serif;
    
}

/* Descrição */
.cesta-descricao {
    font-size: 1rem;
    color: var(--cor-fonte-descricao);
    line-height: 1.4;
}

.cesta-mais-info {
    font-size: 1rem;
    color: var(--cor-fonte-padrao);
    font-weight: 600;
    text-align: center;
    margin-top: 8px;
}

.cesta-calculo-frete {
    font-size: 1rem;
    text-align: center;
    margin-top: 8px;
}


.cestas .cesta-calculo-frete a {
    font-weight: 600;
    color: var(--cor-fonte-descricao);
}

/* antecedência */
.cesta-antecedencia, p.cesta-antecedencia {
    font-size: 0.8rem;
    color: var(--cor-branco);
    background-color: var(--cor-fonte-padrao);
    line-height: 1.4;
    border-radius: 10px;
    border: solid 1px var(--cor-borda);
    padding: 6px;
    margin-top: 10px;
    max-width: fit-content;
    margin:0 auto;
}

.cesta-card-detalhe {
    background-color: var(--cor-card-cesta-fundo);
    border: 1px solid var(--cor-fonte-padrao);
    border-radius: 10px;
    padding: 10px;
    max-width: 100%;
    font-family: 'Poppins', Arial, sans-serif;

    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cesta-card-detalhe .cesta-descricao, .cesta-card-detalhe .cesta-conteudo {
    width: 90%;
    margin: 0 auto;
    margin-top: 10px
}

.cesta-card-detalhe h2 {
    text-align: center;
    margin-top: 16px;
    color: var(--cor-fonte-cesta);
}

.cesta-card-detalhe h3 {
    text-align: center;
    margin-top: 16px;
    color: var(--cor-fonte-cesta);
    font-size: 0.9rem;
}

.cesta-conteudo p {
    font-size: 1rem;
    line-height: 1.0;
    color: var(--cor-fonte-padrao);
}

/* Conteúdo */
.cestas a {
    text-decoration: none;
    color: var(--cor-fundo);
}

.btn-comprar {
    display: block;
    width: 80%;
    padding: 12px;
    background-color: var(--cor-fonte-padrao);
    color: var(--cor-branco);
    font-size: 1rem;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    margin-top: 16px;
    transition: background-color 0.3s ease;
}

/* formatação da página de detalhes das cestas com divs horizontais */
.ficha-cesta {
    display: flex;
    gap: 20px;
    width: 80%;
}

.coluna-fotos {
    flex: 1;
    padding: 20px;
}

.coluna-detalhes {
    flex: 3;
    padding: 20px ;
}

/* formatação de texto para as tabelas */
.direita {
    text-align: right;
}   

.esquerda {
    text-align: left;
}

.centro {
    text-align: center;
}   

.btn-centro {
    display: flex;
    justify-content: space-around;
    gap: 20px;
}

/* efeito de sobreposição de imagem nos cards indisponíveis */
.cestas {
    position: relative;
}

.sobreposta {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 80%;
    object-fit: cover;
    opacity: 0.3;
}

.cesta-card {
    position: relative;
    z-index: 2;
}

.editor {
    height: 200px;
    background: var(--cor-fundo-carrinho);
}

.foto-center img {
    display: block;
    margin: 0 auto;
    border-radius: 10px;
}

.cart {
    display: block;
    padding: 10px;
    margin: 0 auto;
    border-radius: 10px;
    text-align: center;
    width:80%;
}

.box-categorias {
    display: block;
    padding: 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 10px;
    text-align: left;
    width:80%;
}

.cart a {
    font-size: 0.8em;
    color: var(--cor-branco);
}

/* Estilo para o item pai que contém o dropdown */
.nav_novo ul li {
    position: relative; /* Necessário para posicionar o menu abaixo dele */
    display: inline-block;
    font-size: 0.8em;
    margin-right: 30px;
}

/* Estilo da lista suspensa (escondida por padrão) */
.nav_novo .dropdown {
    display: none;
    position: absolute;
    background-color: var(--cor-fundo-menu);
    min-width: 180px;
    box-shadow: 0px 8px 16px rgba(0,0,0,0.1);
    z-index: 1000;
    list-style: none;
    padding: 10px 0;
    margin: 0;
    border-radius: 4px;
}

.nav_novo .dropdown li {
    display: block;
    padding: 5px;
}

/* Estilo dos links dentro do dropdown */
.nav_novo .dropdown li a {
    color: #FFFFFF;
    padding: 0px 10px;
    display: block;
    text-decoration: none;
}

/* Efeito ao passar o mouse nos links do dropdown */
.nav_novo .dropdown li a:hover {
    background-color: var(--cor-fonte-padrao);
}

/* O "Pulo do Gato": Mostra o menu ao passar o mouse no item LI pai */
.nav_novo ul li:hover .dropdown {
    display: block;
}

/* Celulares (até 480px) */
@media (max-width: 480px) {
    
  body { 
    font-size: 22px; 
    background-color: var(--cor-fundo);
    width: 100%;
    margin: 0;
    padding: 0;
}

.cestas {
    display: grid;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    gap: 10px;
    padding: 10px;
}

.cesta-card {
    width: 100%;
    padding: 10px;
}

.quadro, .ficha-cesta {
    width: 100%;
    max-width: 100%;    
    padding: 0;
}

.container {
    display: grid;
    padding: 0;
    width: 100%;
    max-width: 100%;
    justify-content: center;
}

.container-novo {
    width: 90%;
    max-width: 90%;
}

.header_novo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.header_novo div {
    line-height: 1em;
}

.nav-novo {
    display: flex;
    flex-direction: column;
    align-items: center;    
}

.nav_novo .nav_links ul, .nav_novo .nav_links ul li  {
    font-size: 0.8em;
    margin: 0;
    padding: 0;
}

.ficha-cesta {
    flex-direction: column;
}

.coluna-detalhes, .coluna-fotos{
    width: 90%;
    max-width: 90%;
}

.cesta-descricao, .cesta-conteudo {
    font-size: 0.8rem;
}

.cesta-descricao, .cesta-conteudo {
    width: 100%;
    max-width: 100%;
}

.cesta-card-detalhe .cesta-descricao, .cesta-card-detalhe .cesta-conteudo {
    width: 100%;
    margin: 0 auto;
    margin-top: 10px
}

.cesta-conteudo p {
    font-size: 0.8rem;
    line-height: 1em;
    color: var(--cor-fonte-padrao);
}

h1 {
    font-size: 1.6rem;
}

h2 {
    font-size: 1rem;
}

.foto-center img {
    width: 90%;
}

}
