/* Acrescentos: menu, rodapé com ligações, página de informações.
   Usa as mesmas cores e variáveis da loja (style.css). */

/* Botão de fechar do menu (igual ao das categorias) */
.fechar-modal {
    border: 0;
    background: #f1e9e0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    color: var(--ink);
}

a.categoria-item {
    text-decoration: none;
}

/* Rodapé */
.rodape-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 16px;
    margin-top: 18px;
}

.rodape-links a {
    color: #FFFFFF;
    font-size: 12.5px;
    text-decoration: none;
    padding: 4px 0;
    border-bottom: 1px solid transparent;
}

.rodape-links a:hover {
    color: #FFFFFF;
    border-bottom-color: #FFFFFF;
}

/* Perfil / detalhes */
.btn-limpar {
    display: block;
    width: 100%;
    margin-top: 14px;
    padding: 10px;
    border: 0;
    background: none;
    color: var(--muted);
    font-size: 12.5px;
    text-decoration: underline;
    cursor: pointer;
}

.btn-wa {
    display: block;
    margin-top: 12px;
    padding: 13px;
    text-align: center;
    border: 1px solid var(--teal);
    border-radius: 8px;
    color: var(--teal);
    font-weight: 600;
    text-decoration: none;
}

.btn-wa:hover {
    background: #f4fbf9;
}

/* Página de informações */
.pagina-info {
    padding-bottom: 40px;
}

.info-topo-link {
    color: var(--teal);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.info-intro {
    padding: 30px 18px 6px;
}

.info-intro h1 {
    font-family: Georgia, serif;
    font-weight: 500;
    font-size: clamp(30px, 8vw, 42px);
    line-height: 1.1;
}

.info-intro p {
    margin-top: 10px;
    color: var(--muted);
    line-height: 1.6;
}

.aviso-rascunho {
    margin: 16px 18px 0;
    padding: 12px 14px;
    background: #fdeedb;
    border: 1px solid #f3d9b4;
    border-radius: 12px;
    color: #8a5a17;
    font-size: 13px;
    line-height: 1.5;
}

.subnav {
    position: sticky;
    top: 56px;
    z-index: 15;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 12px 18px;
    background: rgba(230, 245, 241, .95);
    backdrop-filter: blur(8px);
    scrollbar-width: none;
}

.subnav::-webkit-scrollbar {
    display: none;
}

.subnav a {
    flex: 0 0 auto;
    padding: 8px 14px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fff;
    color: var(--ink);
    font-size: 13px;
    text-decoration: none;
}

.subnav a:hover {
    border-color: var(--teal);
    color: var(--teal);
}

.bloco {
    margin: 14px 18px 0;
    padding: 22px 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    scroll-margin-top: 120px;
}

.bloco h2 {
    font-family: Georgia, serif;
    font-weight: 500;
    font-size: 26px;
    margin-bottom: 10px;
}

.bloco h3 {
    font-family: Georgia, serif;
    font-weight: 500;
    font-size: 18px;
    margin: 18px 0 4px;
}

.bloco p,
.bloco li {
    color: #4a423d;
    line-height: 1.65;
    font-size: 15px;
    margin-top: 8px;
}

.bloco ul {
    padding-left: 20px;
}

.pendente {
    display: inline-block;
    padding: 1px 8px;
    border: 1px dashed #d9a85f;
    border-radius: 6px;
    background: #fdeedb;
    color: #8a5a17;
    font-size: 12.5px;
    font-weight: 600;
}

.tabela-taxas {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    font-size: 14.5px;
}

.tabela-taxas th,
.tabela-taxas td {
    padding: 10px 4px;
    border-bottom: 1px solid var(--line);
    text-align: left;
}

.tabela-taxas th {
    font-size: 11px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted);
}

.tabela-taxas td:last-child,
.tabela-taxas th:last-child {
    text-align: right;
    white-space: nowrap;
}

.btn-contacto {
    display: inline-block;
    margin-top: 14px;
    padding: 13px 24px;
    border-radius: 50px;
    background: var(--btn);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

@media (min-width: 620px) {
    .bloco {
        padding: 28px 28px;
    }
}

/* ===== Estrutura partilhada (loja.js) ===== */
a.brand { text-decoration: none; }

nav a {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    font-size: 10.5px;
    color: var(--muted);
    text-decoration: none;
    padding: 4px 0;
}

nav a svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

nav a.active { color: var(--teal); font-weight: 600; }

.equipa-link {
    display: inline-block;
    margin-top: 16px;
    font-size: 10px;
    letter-spacing: .08em;
    color: var(--muted);
    opacity: .8;
    text-decoration: none;
}
.equipa-link:hover, .equipa-link:focus { opacity: .8; }

a.card-link { color: inherit; text-decoration: none; }

/* pesquisa */
.pesq-campo, .campo {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    font: inherit;
    background: var(--card, #fff);
    color: var(--ink);
}
.pesq-campo::placeholder { color: var(--muted); }
.pesq-campo:focus, .campo:focus { outline: 2px solid var(--teal); outline-offset: 1px; }
.pesq-info { margin: 10px 2px; font-size: 13px; color: var(--muted); }
.pesq-lista { display: grid; gap: 8px; }
.pesq-item {
    display: flex; justify-content: space-between; align-items: center; gap: 10px;
    padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px;
    background: var(--card, #fff); color: var(--ink); text-decoration: none;
}
.pesq-item b { display: block; font-weight: 600; }
.pesq-item small { color: var(--muted); }
.pesq-preco { text-align: right; font-weight: 600; white-space: nowrap; }
.pesq-preco small.tag { display: block; margin-top: 4px; }

/* páginas de lista */
.pagina-topo { padding: 26px 18px 0; }
.pagina-topo h1 { font-family: Georgia, serif; font-weight: 500; font-size: 28px; }
.pagina-topo p { color: var(--muted); margin-top: 6px; font-size: 14px; }

.filtros { display: flex; gap: 8px; flex-wrap: wrap; padding: 16px 18px 0; }
.filtros a {
    padding: 8px 16px; border-radius: 30px; border: 1px solid var(--line);
    background: #fff; color: var(--ink); text-decoration: none; font-size: 13.5px;
}
.filtros a.on { background: var(--teal); border-color: var(--teal); color: #fff; font-weight: 600; }

/* produto */
.produto { padding: 18px; display: grid; gap: 20px; }
.produto-foto {
    position: relative; aspect-ratio: 1/1; border-radius: 20px; overflow: hidden;
    background: #fffaf5; border: 1px solid var(--line); display: grid; place-items: center;
}
.produto-foto img { width: 100%; height: 100%; object-fit: cover; }
.produto-foto svg { width: 40%; }
.produto-info h1 { font-family: Georgia, serif; font-weight: 500; font-size: 28px; }
.produto-preco { font-size: 22px; font-weight: 600; margin: 8px 0; }
.produto-desc { color: var(--muted); line-height: 1.6; margin: 12px 0; }
.produto-acoes { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.produto-acoes .cta, .produto-acoes .btn-sec { flex: 1 1 160px; text-align: center; }
.btn-sec {
    padding: 13px 20px; border-radius: 50px; border: 1px solid var(--teal);
    background: #fff; color: var(--teal); font: inherit; font-weight: 600; cursor: pointer;
    text-decoration: none;
}
@media (min-width: 620px) { .produto { grid-template-columns: 1fr 1fr; align-items: start; } }

/* formulários e contas */
.caixa {
    margin: 18px; padding: 20px; background: #fff; border: 1px solid var(--line);
    border-radius: 18px;
}
.caixa h2 { font-family: Georgia, serif; font-weight: 500; font-size: 22px; margin-bottom: 6px; }
.caixa label { display: block; margin: 14px 0 6px; font-size: 13px; font-weight: 600; }
.caixa .campo + .campo { margin-top: 8px; }
.caixa .cta, .caixa .btn-sec { width: 100%; margin-top: 16px; }
.caixa .ajuda { font-size: 12.5px; color: var(--muted); margin-top: 8px; line-height: 1.5; }
.msg-erro { color: #b3261e; font-size: 13.5px; margin-top: 10px; min-height: 1em; }
.msg-ok { color: var(--green); font-size: 13.5px; margin-top: 10px; }
.abas { display: flex; gap: 6px; margin: 4px 0; }
.abas button {
    flex: 1; padding: 10px; border: 1px solid var(--line); border-radius: 12px;
    background: #fff; font: inherit; cursor: pointer; color: var(--ink);
}
.abas button.on { background: var(--teal); border-color: var(--teal); color: #fff; font-weight: 600; }
.link-btn { background: none; border: 0; color: var(--teal); font: inherit; cursor: pointer; text-decoration: underline; padding: 0; }

.encomenda-item {
    display: block; padding: 14px; border: 1px solid var(--line); border-radius: 14px;
    margin-top: 10px; color: var(--ink); text-decoration: none; background: #fffaf5;
}
.encomenda-item b { display: block; }
.encomenda-item small { color: var(--muted); }
.estado {
    display: inline-block; padding: 2px 10px; border-radius: 20px; font-size: 12px; font-weight: 600;
    background: var(--orange-bg); color: var(--orange);
}
.estado.entregue { background: var(--green-bg); color: var(--green); }
.estado.cancelado { background: var(--gray-bg); color: var(--gray); }

.linha-tempo { list-style: none; margin: 16px 0 4px; padding: 0; }
.linha-tempo li { position: relative; padding: 0 0 18px 30px; color: var(--muted); }
.linha-tempo li::before {
    content: ""; position: absolute; left: 4px; top: 3px; width: 12px; height: 12px;
    border-radius: 50%; border: 2px solid var(--line); background: #fff;
}
.linha-tempo li::after {
    content: ""; position: absolute; left: 9px; top: 18px; bottom: 0; width: 2px; background: var(--line);
}
.linha-tempo li:last-child::after { display: none; }
.linha-tempo li.feito { color: var(--ink); }
.linha-tempo li.feito::before { background: var(--teal); border-color: var(--teal); }
.linha-tempo li.atual { font-weight: 600; }
.resumo-linhas { margin-top: 12px; border-top: 1px solid var(--line); }
.resumo-linhas div { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px; }

/* Seletor de idioma (menu) */
.idiomas{display:flex;align-items:center;gap:8px;padding:14px 18px 18px;flex-wrap:wrap}
.idiomas-rotulo{font-size:.8rem;color:var(--muted);margin-right:4px}
.idioma-btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:7px 14px;font:inherit;font-size:.85rem;cursor:pointer}
.idioma-btn.on{background:var(--btn);border-color:var(--btn);color:#fff}

/* Consultoria (página, banner e sugestão) */
.pacotes{display:grid;gap:14px;padding:6px 18px 0}
.pacote{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}
.pacote.destaque{border:2px solid var(--teal)}
.pacote h3{font-family:Georgia,serif;font-weight:500;font-size:22px}
.pacote-preco{font-size:24px;font-weight:700;color:var(--teal);margin:4px 0 6px}
.pacote-sub{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:8px}
.pacote ul{margin:0;padding-left:18px;font-size:14px;line-height:1.6}
.cta-wa{display:inline-block;padding:12px 22px;border-radius:50px;background:var(--btn);color:#fff;text-decoration:none;font-weight:700}
.banner-consultoria{display:block;margin:18px 18px 0;padding:18px;border-radius:18px;background:#D8E8DD;color:var(--ink);text-decoration:none;border:1px solid var(--line)}
.banner-consultoria small{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--teal);font-weight:700}
.banner-consultoria b{display:block;font-family:Georgia,serif;font-weight:500;font-size:21px;margin:4px 0}
.banner-consultoria span{font-size:14px;color:var(--muted);display:block}
.banner-consultoria em{display:inline-block;margin-top:10px;font-style:normal;font-weight:700;color:var(--teal)}
.atalhos-info{display:flex;gap:10px;flex-wrap:wrap;margin:12px 18px 0}
.atalhos-info a{padding:8px 14px;border-radius:50px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;text-decoration:none;font-weight:600}
.sugestao{position:fixed;left:12px;right:12px;bottom:80px;z-index:60;max-width:420px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.sugestao[hidden]{display:none}
.sugestao h3{font-family:Georgia,serif;font-weight:500;font-size:19px;margin-right:24px}
.sugestao p{font-size:14px;color:var(--muted);margin:6px 0 10px;line-height:1.5}
.sugestao ul{list-style:none;margin:0 0 12px;padding:0;font-size:13.5px;line-height:1.7}
.sugestao .sug-acoes{display:flex;gap:8px;flex-wrap:wrap}
.sugestao .sug-acoes a{padding:10px 16px;border-radius:50px;background:var(--btn);color:#fff;text-decoration:none;font-weight:700;font-size:14px}
.sugestao .sug-acoes a.sec{background:#fff;color:var(--ink);border:1px solid var(--line)}
.sugestao .sug-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:22px;cursor:pointer;color:var(--muted)}
