/* Bloco: cabeçalho de todas as páginas — logo e unidade à esquerda, links no centro, ícones à direita.
   Menu lateral e lista de unidades usam o atributo popover (o navegador abre e fecha).
   Larguras: > 1100 links visíveis · até 1100 menu ☰ · até 600 unidade vira ícone 📍. */
.cabecalho { background: var(--marinho); color: #fff; position: sticky; top: 0; z-index: 50; box-shadow: 0 2px 18px #0003; }
.cabecalho-navegacao { height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }
.logo-cabecalho { justify-self: start; display: flex; align-items: center; gap: 14px; }
.logo-cabecalho img { display: block; height: 52px; width: auto; }
.icones-cabecalho { grid-column: -2; justify-self: end; display: flex; align-items: center; gap: 6px; }
.icone-cabecalho { position: relative; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 50%; background: none; color: #fff; transition: background .2s; }
.icone-cabecalho:hover { background: #ffffff1f; }
.icone-cabecalho svg { width: 22px; height: 22px; }
.contador-carrinho { position: absolute; top: 1px; right: -1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: var(--laranja); font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; }
.menu-principal a, .texto-cabecalho, .seletor-unidade { font-family: var(--fonte-destaque); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #ffffffd9; }
.menu-principal a { font-size: 17px; padding: 6px 0; border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.menu-principal a:hover, .menu-principal a:focus-visible { color: #fff; border-bottom-color: var(--amarelo); }
.botao-menu, .botao-fechar-menu, .botao-unidade { display: none; }

/* Troca de unidade: pílula ao lado da logo + lista com a unidade atual marcada. */
.seletor-unidade { display: flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px; border: 1px solid #ffffff38; border-radius: 99px; background: #ffffff0d; font-size: 15px; transition: border-color .2s, background .2s; }
.seletor-unidade:hover { border-color: #ffffff80; background: #ffffff1a; color: #fff; }
.seletor-unidade svg { width: 16px; height: 16px; }
.seletor-unidade svg:first-child { color: var(--amarelo); }
.lista-unidades { width: 260px; margin: 0; padding: 8px; border: 0; border-radius: 14px; background: #fff; color: var(--tinta); box-shadow: 0 18px 45px #0003; }
.titulo-lista-unidades { display: block; padding: 8px 12px 6px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--cinza); }
.lista-unidades button { position: relative; display: flex; flex-direction: column; width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; background: none; text-align: left; }
.lista-unidades button:hover { background: #f2f5fa; }
.lista-unidades small { color: var(--cinza); margin-top: 2px; }
.lista-unidades [aria-current="true"]::after { content: "✓"; position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--laranja); font-weight: 800; }

/* Checkout, pagamento e admin: textos no lugar dos ícones. */
.texto-cabecalho { display: flex; align-items: center; gap: 7px; font-size: 15px; padding: 0 8px; }
.texto-cabecalho svg { width: 17px; height: 17px; }
a.texto-cabecalho:hover { color: #fff; }
.etiqueta-painel { font-family: var(--fonte-destaque); font-weight: 600; letter-spacing: .12em; font-size: 14px; color: var(--amarelo); }

@media (min-width: 1101px) {
  .menu-principal { display: flex; gap: clamp(18px, 2.4vw, 34px); position: static; inset: auto; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none; color: inherit; overflow: visible; }
}
@media (max-width: 1100px) {
  .cabecalho-navegacao { grid-template-columns: 1fr auto; gap: 12px; }
  .botao-menu { display: grid; }
  .menu-principal:popover-open { display: flex; flex-direction: column; position: fixed; inset: 0 0 0 auto; width: min(320px, 85vw); height: 100dvh; margin: 0; padding: 76px 28px 28px; border: 0; background: var(--marinho); color: #fff; box-shadow: -20px 0 50px #0006; }
  .menu-principal::backdrop, .lista-unidades::backdrop { background: #0009; }
  .menu-principal a { font-size: 24px; padding: 14px 0; border-bottom: 1px solid #ffffff1a; }
  .botao-fechar-menu { display: grid; position: absolute; top: 14px; right: 14px; }
}
/* Desktop: marca menor, alinhada a 24px da borda; a lista acompanha a pílula. */
@media (min-width: 601px) {
  .cabecalho-navegacao { width: calc(100% - 48px); max-width: none; }
  .logo-cabecalho img { height: 44px; }
  .lista-unidades { position: fixed; inset: auto; top: 72px; left: 192px; }
  .lista-unidades::backdrop { background: none; }
}
@media (max-width: 600px) {
  .cabecalho-navegacao { height: 64px; }
  .logo-cabecalho img { height: 32px; }
  .seletor-unidade { display: none; }
  .botao-unidade { display: grid; }
  .lista-unidades { position: fixed; inset: auto 0 0 0; width: 100%; max-width: none; border-radius: 20px 20px 0 0; padding: 12px 12px calc(20px + env(safe-area-inset-bottom)); }
  .lista-unidades button { padding: 14px 12px; font-size: 17px; }
  .texto-cabecalho { font-size: 13px; padding: 0 4px; }
}
