/* =========================================================
   Placas Express — layout
   Cabeçalho, rodapé e estrutura das seções.
   No WordPress: header.php e footer.php.
   Mobile-first: estilos base = celular; min-width amplia.
   ========================================================= */

/* ---------- cabeçalho ---------- */

.cabecalho {
  --faixa-h: 30px;
  position: sticky;
  top: calc(-1 * var(--faixa-h)); /* a faixa azul sai, a barra fica */
  z-index: 50;
  background: var(--fundo-forte);
  color: var(--sobre-forte);
}

/* faixa superior no desenho da faixa da placa Mercosul */
.cabecalho__faixa {
  height: var(--faixa-h);
  background: var(--azul);
  color: var(--branco);
  font-family: var(--fonte-titulo);
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.cabecalho__faixa .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 100%;
}
.cabecalho__faixa-estados { display: none; }
.cabecalho__faixa-pais {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.cabecalho__barra {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 80px;
  border-bottom: 1px solid var(--linha-forte);
}

.cabecalho__logo { flex: none; }
.cabecalho__logo img { width: auto; height: 60px; } /* manual: mínimo 70 px no digital; 60 px só no celular */

.menu__botao {
  display: grid;
  place-items: center;
  margin-left: auto;
  width: 48px;
  height: 48px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--linha-forte);
  border-radius: var(--raio-botao);
}

.menu__botao span,
.menu__botao span::before,
.menu__botao span::after {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--sobre-forte);
  position: relative;
  transition: transform 0.2s var(--ease), background 0.2s;
}
.menu__botao span::before,
.menu__botao span::after { content: ""; position: absolute; left: 0; }
.menu__botao span::before { top: -6px; }
.menu__botao span::after { top: 6px; }

.menu__botao[aria-expanded="true"] span { background: transparent; }
.menu__botao[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.menu__botao[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }

.menu {
  position: absolute;
  inset: 100% 0 auto 0;
  display: none;
  background: var(--fundo-forte);
  border-bottom: 1px solid var(--linha-forte);
}
.menu.aberto { display: block; }

.menu__lista {
  display: flex;
  flex-direction: column;
  padding: 8px var(--gutter) 24px;
}

.menu__lista a:not(.botao) {
  display: flex;
  align-items: center;
  min-height: 56px;
  font-family: var(--fonte-titulo);
  font-size: 1.15rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--sobre-forte);
  border-bottom: 1px solid var(--linha-forte);
}
.menu__lista a[aria-current="page"] { color: var(--acao); }
.menu__cta-mobile { margin-top: 20px; }

.cabecalho .cabecalho__cta { display: none; }

@media (min-width: 720px) {
  .cabecalho__faixa-estados { display: inline; }
}

@media (min-width: 992px) {
  .cabecalho__barra { min-height: 100px; gap: 32px; }
  .cabecalho__logo img { height: 70px; }
  .menu__botao { display: none; }

  .menu {
    position: static;
    display: block;
    margin-left: auto;
    background: none;
    border: 0;
  }
  .menu__lista {
    flex-direction: row;
    gap: 28px;
    padding: 0;
  }
  .menu__lista a:not(.botao) {
    position: relative;
    min-height: 44px;
    font-family: var(--fonte);
    font-size: 0.95rem;
    font-weight: 500;
    text-transform: none;
    color: var(--sobre-forte-2);
    border: 0;
    transition: color 0.2s;
  }
  .menu__lista a:not(.botao)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
    height: 2px;
    background: var(--acao);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s var(--ease);
  }
  .menu__lista a:not(.botao):hover,
  .menu__lista a[aria-current="page"] { color: var(--sobre-forte); }
  .menu__lista a:not(.botao):hover::after,
  .menu__lista a[aria-current="page"]::after { transform: scaleX(1); }

  .menu__cta-mobile { display: none; }
  .cabecalho .cabecalho__cta { display: inline-flex; }
}

/* ---------- seções ---------- */

.secao {
  position: relative;
  padding-block: var(--secao);
}

.secao--papel,
.secao--fundo { background: var(--papel); }

.secao--escura {
  background: var(--fundo-forte);
  color: var(--sobre-forte);
}

.secao--preta {
  background: var(--fundo-rodape);
  color: var(--sobre-forte);
}

/* etiqueta de seção: pequena chapa com número em faixa azul */
.etiqueta {
  display: inline-flex;
  align-items: stretch;
  font-family: var(--fonte-titulo);
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 1.5px solid currentColor;
  border-radius: var(--raio-etiqueta);
  overflow: hidden;
}
.etiqueta > * { padding: 7px 10px 6px; }
.etiqueta > :first-child {
  background: var(--azul);
  color: var(--branco);
  letter-spacing: 0.06em;
}
.secao--escura .etiqueta,
.secao--preta .etiqueta { border-color: var(--borda-etiqueta-forte); }

/* legenda pequena em caixa-alta */
.legenda {
  font-family: var(--fonte-titulo);
  font-size: var(--t-legenda);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--texto-suave);
}
.secao--escura .legenda,
.secao--preta .legenda { color: var(--sobre-forte-2); }

/* cabeçalho de seção: etiqueta + título grande + texto pequeno */
.cab-secao {
  display: grid;
  gap: 20px;
  margin-bottom: clamp(40px, 6vw, 72px);
}
.cab-secao .etiqueta { justify-self: start; }
.cab-secao__titulo { font-size: var(--t-1); }
.cab-secao__texto {
  max-width: 34ch;
  font-size: 1rem;
  color: var(--texto-suave);
}
.secao--escura .cab-secao__texto,
.secao--preta .cab-secao__texto { color: var(--sobre-forte-2); }

@media (min-width: 900px) {
  .cab-secao {
    grid-template-columns: repeat(12, 1fr);
    column-gap: 24px;
    align-items: end;
  }
  .cab-secao .etiqueta { grid-column: 1 / -1; justify-self: start; }
  .cab-secao__titulo { grid-column: 1 / span 8; }
  .cab-secao__texto { grid-column: 10 / -1; padding-bottom: 0.6em; }
}

/* ---------- compatibilidade: páginas internas (em construção) ---------- */

.secao__topo {
  max-width: 820px;
  margin-bottom: clamp(32px, 5vw, 56px);
}
.secao__topo--centro { margin-inline: auto; text-align: center; }

.sobretitulo {
  display: inline-block;
  margin-bottom: 16px;
  font-family: var(--fonte-titulo);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--acao-texto);
}
.secao--escura .sobretitulo { color: var(--acao); }

.secao__titulo { font-size: var(--t-1); }

.secao__texto {
  margin-top: 18px;
  font-size: 1.1rem;
  color: var(--texto-suave);
}
.secao--escura .secao__texto { color: var(--sobre-forte-2); }

/* ---------- rodapé ---------- */

.rodape {
  border-top: 1px solid var(--linha-forte);
  background: var(--fundo-rodape);
  color: var(--sobre-forte-2);
  font-size: 0.95rem;
}

.rodape__topo {
  display: grid;
  gap: 28px;
  padding-block: 64px 40px;
  border-bottom: 1px solid var(--linha-forte);
}

.rodape__logo { width: auto; height: 70px; }

.rodape__frase {
  font-family: var(--fonte-titulo);
  font-size: var(--t-2);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--sobre-forte);
}
.rodape__frase span { color: var(--acao-rodape); }

.rodape__grade {
  display: grid;
  gap: 36px;
  padding-block: 40px 48px;
}

.rodape__sobre p { max-width: 36ch; }

.rodape__titulo {
  margin-bottom: 14px;
  font-family: var(--fonte-titulo);
  font-size: var(--t-legenda);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sobre-forte-3);
}

.rodape li + li { margin-top: 4px; }

.rodape a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  text-decoration: none;
  color: var(--sobre-forte);
  transition: color 0.2s;
}
.rodape a:hover { color: var(--acao); }

.rodape__unidades {
  columns: 2;
  column-gap: 24px;
}

.rodape__social {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}

.rodape__social a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--linha-forte);
  border-radius: var(--raio-botao);
}
.rodape__social a:hover { background: var(--acao); border-color: var(--acao); color: var(--sobre-acao); }
.rodape__social svg { width: 18px; height: 18px; }

.rodape__base {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px 20px;
  padding-block: 20px 96px; /* espaço para o botão flutuante no celular */
  border-top: 1px solid var(--linha-forte);
  font-size: 0.85rem;
  color: var(--sobre-forte-3);
}
.rodape__base a { color: var(--sobre-forte-2); }

@media (min-width: 720px) {
  .rodape__grade { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 992px) {
  .rodape__topo {
    grid-template-columns: repeat(12, 1fr);
    column-gap: 24px;
    align-items: end;
    padding-top: 88px;
  }
  .rodape__topo .rodape__logo { grid-column: 1 / span 3; align-self: start; }
  .rodape__frase { grid-column: 5 / -1; }

  .rodape__grade {
    grid-template-columns: repeat(12, 1fr);
    column-gap: 24px;
  }
  .rodape__sobre { grid-column: 1 / span 4; }
  .rodape__coluna--site { grid-column: 5 / span 2; }
  .rodape__coluna--unidades { grid-column: 7 / span 3; }
  .rodape__coluna--contato { grid-column: 10 / -1; }

  .rodape__base { padding-bottom: 24px; }
}

/* ---------- rodapé compacto no celular ---------- */
@media (max-width: 719px) {
  .rodape { font-size: 0.88rem; }

  .rodape__topo {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 16px;
    padding-block: 32px 20px;
  }
  .rodape__logo { height: 56px; } /* no celular, 56 px (manual pede 70 px no digital) */
  .rodape__frase { font-size: 1.05rem; }

  .rodape__grade {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-block: 20px 22px;
  }
  .rodape__sobre { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .rodape__sobre p { display: none; } /* o texto institucional já aparece no topo da página */
  .rodape__social { margin-top: 0; }
  .rodape__coluna--site,
  .rodape__coluna--contato,
  .rodape__coluna--unidades { grid-column: 1 / -1; }
  /* links do site e contatos em linha, lado a lado */
  .rodape__coluna--site ul,
  .rodape__coluna--contato ul { display: flex; flex-wrap: wrap; gap: 0 16px; }
  .rodape__coluna--contato a { overflow-wrap: anywhere; }

  .rodape__titulo { margin-bottom: 6px; }
  .rodape li + li { margin-top: 0; }
  .rodape a { min-height: 30px; }
  .rodape__unidades { columns: 2; column-gap: 16px; }

  .rodape__base { padding-block: 14px 90px; font-size: 0.78rem; }
}

/* rodapé mínimo no celular: logo, redes, contato e privacidade.
   Menu fica no topo; as duas lojas com telefone aparecem também no celular. */
@media (max-width: 719px) {
  .rodape__topo { padding-block: 24px 16px; }
  .rodape__frase { display: none; }
  .rodape__topo { grid-template-columns: 1fr; }
  .rodape__coluna--site { display: none; }
  .rodape__grade { padding-block: 14px 16px; gap: 12px; }
  .rodape__sobre { order: 2; }
  .rodape__coluna--contato .rodape__titulo { display: none; }
  .rodape__base { padding-block: 12px 84px; }
}


/* ---------- visual 2026 (Modelo C): cabeçalho limpo, etiquetas e rodapé marinho ---------- */

/* sem a faixa azul em cima: o hero já traz o azul */
.cabecalho { --faixa-h: 0px; background: var(--branco); }
.cabecalho__faixa { display: none; }
.cabecalho__barra { min-height: 76px; }
.cabecalho .cabecalho__cta {
  background: transparent;
  color: var(--tinta);
  border: 1.5px solid var(--tinta);
}
.cabecalho .cabecalho__cta:hover { background: var(--tinta); color: var(--branco); }
@media (min-width: 992px) {
  .cabecalho__barra { min-height: 88px; }
  .cabecalho__logo img { height: 56px; }
  .menu__lista a:not(.botao) { color: var(--tinta); }
}

/* etiqueta de seção: "01 · Unidades" em laranja, sem caixa */
.etiqueta {
  gap: 0;
  border: 0;
  border-radius: 0;
  overflow: visible;
  font-size: 0.78rem;
  color: var(--acao-texto);
}
.etiqueta > * { padding: 0; }
.etiqueta > :first-child { background: none; color: inherit; letter-spacing: 0.14em; }
.etiqueta > :first-child:not(:last-child)::after { content: "·"; margin-inline: 0.5em; }
.secao--escura .etiqueta,
.secao--preta .etiqueta,
.secao--marinho .etiqueta { color: var(--acao-claro); }

.secao--marinho {
  --titulo: var(--branco);
  background: var(--marinho);
  color: var(--branco);
  --texto-suave: var(--sobre-marinho);
  --sobre-forte-2: var(--sobre-marinho);
}

/* rodapé marinho */
.rodape {
  --titulo: var(--branco);
  --sobre-forte: var(--branco);
  --sobre-forte-2: var(--sobre-marinho);
  --sobre-forte-3: var(--acao-claro);
  --linha-forte: var(--linha-marinho);
  --acao-rodape: var(--acao);
  background: var(--marinho);
  border-top: 0;
}
.rodape__base { color: var(--sobre-marinho-2); }

/* WordPress: com a barra de administração (só para quem está logado), o cabeçalho fixo desce junto */
.admin-bar .cabecalho { top: calc(32px - var(--faixa-h)); }
@media (max-width: 782px) { .admin-bar .cabecalho { top: calc(46px - var(--faixa-h)); } }
@media (max-width: 600px) { .admin-bar .cabecalho { top: calc(-1 * var(--faixa-h)); } }
