:root {
    /* Paleta de Cores de Restaurante/Comida */
    --cor-principal: #A52A2A; /* Marrom Terracota - Destaque/Botões */
    --cor-secundaria: #F5F5DC; /* Bege/Creme - Fundo Secundário */
    --cor-fundo-pagina: #FFFFFF; /* Branco */
    --cor-texto: #333333; /* Preto Acinzentado */
    --cor-fundo-rodape: #333333; /* Preto para o rodapé */
}

body {
    font-family: Arial, sans-serif;
    background-color: var(--cor-fundo-pagina);
    margin: 0;
    padding: 0;
    color: var(--cor-texto);
}

/* --- Tipografia --- */
h1, h2, h3, h4, h5, h6 {
    color: var(--cor-principal);
    text-align: center;
    margin: 15px 0;
}
p, strong, label, ul, li {
    color: var(--cor-texto);
}

/* --- Links e Botões --- */
a {
    color: var(--cor-principal);
    text-decoration: none;
    cursor: pointer;
}
a:hover {
    text-decoration: underline;
}

button, .btn {
    background-color: var(--cor-principal);
    color: var(--cor-fundo-pagina);
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    font-weight: bold;
    margin-top: 5px;
}
button:hover, .btn:hover {
    background-color: #8B1A1A; /* Tom mais escuro */
}

/* --- Layout Geral: Cabeçalho (Figura 9) --- */
#cabecalho {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 30px;
    background-color: var(--cor-secundaria);
    border-bottom: 2px solid var(--cor-principal);
}
.busca {
    display: flex;
    align-items: center;
}
.busca input {
    padding: 8px;
    border: 1px solid #ccc;
    margin-right: 5px;
}
.icones-usuario a {
    margin-left: 15px;
    font-weight: bold;
}
.icones-usuario i {
    margin-right: 5px;
}

/* --- Menu de Categorias (Figura 9) --- */
.categorias-menu {
    display: flex;
    justify-content: center;
    background-color: #E0E0C6;
    padding: 10px 0;
    border-bottom: 1px solid #ccc;
}
.categorias-menu a {
    margin: 0 20px;
    font-weight: bold;
    color: var(--cor-texto);
}

/* --- Layout Geral: Rodapé (Figura 9) --- */
#rodape {
    background-color: var(--cor-fundo-rodape);
    color: var(--cor-fundo-pagina);
    padding: 30px 20px;
    margin-top: 50px;
}
.links-rodape {
    display: flex;
    justify-content: space-around;
    padding-bottom: 20px;
    border-bottom: 1px solid #555;
    margin-bottom: 20px;
}
.links-rodape ul {
    list-style: none;
    padding: 0;
}
.links-rodape li a {
    color: #ccc;
}
.links-rodape strong {
    color: var(--cor-principal);
    display: block;
    margin-bottom: 10px;
}
.formas-seguranca {
    text-align: center;
    margin-bottom: 20px;
}
.formas-seguranca img {
    margin: 5px;
    height: 30px; /* Tamanho fixo para ícones */
    width: auto;
}
.redes-sociais a {
    margin: 0 10px;
    font-size: 24px;
    color: var(--cor-principal); /* Ícones de rede social na cor primária */
}
.redes-sociais a:hover {
    color: var(--cor-secundaria);
    text-decoration: none;
}

/* --- Layout dos Produtos (Figura 1) --- */
.produtos-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 20px;
}
.produto-card {
    width: 200px; /* Tamanho ajustado para caber 4 por linha */
    margin: 15px;
    padding: 10px;
    background-color: var(--cor-fundo-pagina);
    border: 1px solid #ccc;
    text-align: center;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
}
.produto-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    margin-bottom: 10px;
}
.produto-card p {
    margin: 5px 0;
}

/* --- Layout de Detalhes (Figura 2) --- */
.detalhe-produto {
    display: flex;
    padding: 40px;
    max-width: 1000px;
    margin: 0 auto;
}
.galeria-imagens {
    width: 40%;
    margin-right: 30px;
}
.imagem-principal {
    width: 100%;
    height: 350px;
    background-color: #E0E0C6; /* textarea */
    margin-bottom: 10px;
}
.miniaturas {
    display: flex;
    justify-content: space-between;
}
.miniatura {
    width: 23%;
    height: 80px;
    background-color: #ccc; /* Placeholder */
}
.info-produto {
    width: 60%;
}
.meios-pagamento img {
    height: 25px;
    margin-right: 5px;
}

/* --- Layout de Formulários (Figura 3, 8) --- */
.container-login-cadastro, .container-cadastro-produto {
    display: flex;
    justify-content: space-around;
    padding: 40px;
    max-width: 1200px;
    margin: 0 auto;
}
.box-form {
    width: 45%;
    background-color: var(--cor-secundaria);
    padding: 20px;
    border: 1px solid #ccc;
}
.box-form form label, .box-form form input, .box-form form textarea, .box-form form select {
    display: block;
    width: 90%;
    margin-bottom: 10px;
}
.box-form form input[type="radio"], .box-form form input[type="checkbox"] {
    display: inline-block;
    width: auto;
    margin-right: 5px;
}

/* --- Layout Carrinho (Figura 4) --- */
.carrinho-layout {
    display: flex;
    justify-content: space-between;
    padding: 40px;
    max-width: 1200px;
    margin: 0 auto;
}
.lista-carrinho {
    width: 65%;
}
.resumo-pedido {
    width: 30%;
    background-color: var(--cor-secundaria);
    padding: 20px;
    border: 1px solid var(--cor-principal);
}
.item-carrinho {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
}
.item-carrinho img {
    width: 60px;
    height: 60px;
    margin-right: 15px;
    background-color: #ccc;
}
.info-item {
    display: flex;
    align-items: center;
    width: 40%;
}
.acoes-item {
    width: 50%;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.acoes-item input {
    width: 40px;
    text-align: center;
}
.resumo-pedido div {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}
.resumo-pedido .total {
    font-size: 1.2em;
    font-weight: bold;
    color: var(--cor-principal);
    border-top: 1px solid var(--cor-principal);
    padding-top: 10px;
    margin-top: 10px;
}

/* --- Layout Dashboard (Figura 7) --- */
.dashboard-layout {
    display: flex;
    padding: 40px;
    max-width: 1200px;
    margin: 0 auto;
}
.menu-admin {
    width: 20%;
    margin-right: 20px;
    background-color: var(--cor-secundaria);
    padding: 15px;
    border: 1px solid #ccc;
}
.menu-admin ul {
    list-style: none;
    padding: 0;
}
.conteudo-admin {
    width: 80%;
}
.tabela-produtos {
    border-collapse: collapse;
    width: 100%;
}
.tabela-produtos div { /* Usando div para simular linhas e colunas (sem tag table) */
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
    align-items: center;
}
.tabela-produtos strong {
    width: 15%;
    text-align: left;
}
.tabela-produtos div p {
    width: 15%;
    text-align: left;
}
.tabela-produtos img {
    width: 50px;
    height: 50px;
    background-color: #ccc;
    margin-right: 10px;
}
.tabela-produtos .produto-info {
    width: 30%;
    display: flex;
    align-items: center;
    text-align: left;
}
.tabela-produtos .acoes {
    width: 20%;
    text-align: right;
}