/* Menu e rodapé compartilhados do FisioSale (prefixo fs- para não colidir com os apps) */
:root {
  --fs-verde: #0d3b2e;
  --fs-verde-2: #165c45;
  --fs-verde-claro: #e6efe9;
  --fs-ambar: #e8a317;
  --fs-papel: #f7f5f0;
  --fs-branco: #ffffff;
  --fs-texto: #1b2420;
  --fs-suave: #5b6862;
  --fs-linha: #dfe3dc;
}
.fs-topo, .fs-topo *, .fs-rodape, .fs-rodape * { box-sizing: border-box; }
.fs-topo, .fs-rodape { font: 400 16px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--fs-texto); -webkit-font-smoothing: antialiased; }
.fs-topo ul, .fs-rodape ul { list-style: none; margin: 0; padding: 0; }
.fs-topo a, .fs-rodape a, .fs-topo a:hover { color: inherit; text-decoration: none; }
.fs-wrap { width: min(1180px, 100% - 32px); margin-inline: auto; }

/* Cabeçalho */
.fs-topo {
  position: sticky; top: 0; z-index: 100;
  background: color-mix(in srgb, var(--fs-papel) 90%, transparent);
  backdrop-filter: saturate(1.4) blur(12px); -webkit-backdrop-filter: saturate(1.4) blur(12px);
  border-bottom: 1px solid var(--fs-linha);
}
.fs-barra { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 24px; }
.fs-marca { display: flex; align-items: center; gap: 12px; }
.fs-marca img { width: 40px; height: 40px; display: block; }
.fs-marca b { display: block; font-family: Fraunces, Georgia, serif; font-size: 22px; font-weight: 600; color: var(--fs-verde); letter-spacing: -0.01em; line-height: 1.1; }
.fs-marca small { display: block; font-size: 12px; color: var(--fs-suave); line-height: 1.2; white-space: nowrap; }
.fs-menu { display: flex; align-items: center; gap: 2px; }
.fs-menu > li > a, .fs-gatilho {
  display: flex; align-items: center; gap: 4px; padding: 8px 12px; border-radius: 999px;
  font: 500 15px/1.4 Inter, system-ui, sans-serif; color: var(--fs-texto); white-space: nowrap;
  background: none; border: 0; cursor: pointer;
}
.fs-menu > li > a:hover, .fs-gatilho:hover, .fs-gatilho[aria-expanded="true"] { background: var(--fs-verde-claro); color: var(--fs-verde); }
.fs-menu .fs-ativo { color: var(--fs-verde); background: var(--fs-verde-claro); }
.fs-gatilho svg { transition: transform .2s; }
.fs-gatilho[aria-expanded="true"] svg { transform: rotate(180deg); }
.fs-menu .fs-cta { background: var(--fs-verde); color: var(--fs-branco); margin-left: 6px; }
.fs-menu .fs-cta:hover { background: var(--fs-verde-2); color: var(--fs-branco); }
.fs-suspenso { position: relative; }
.fs-lista {
  position: absolute; top: calc(100% + 10px); right: 0; width: 300px; padding: 8px;
  background: var(--fs-branco); border: 1px solid var(--fs-linha); border-radius: 16px;
  box-shadow: 0 24px 48px -24px rgba(13, 59, 46, .35); display: none;
}
.fs-suspenso.fs-aberto .fs-lista { display: block; }
.fs-lista a { display: block; padding: 10px 12px; border-radius: 10px; }
.fs-lista a:hover { background: var(--fs-verde-claro); }
.fs-lista b { display: block; font-size: 15px; font-weight: 600; color: var(--fs-verde); }
.fs-lista small { display: block; font-size: 13px; color: var(--fs-suave); }
.fs-abrir {
  display: none; border: 1px solid var(--fs-linha); background: var(--fs-branco); border-radius: 12px;
  width: 44px; height: 44px; cursor: pointer; align-items: center; justify-content: center; padding: 0;
}
.fs-abrir span, .fs-abrir span::before, .fs-abrir span::after {
  display: block; width: 18px; height: 2px; background: var(--fs-verde); position: relative; content: "";
}
.fs-abrir span::before { position: absolute; top: -6px; }
.fs-abrir span::after { position: absolute; top: 6px; }
@media (max-width: 1120px) {
  .fs-abrir { display: inline-flex; }
  .fs-topo nav { position: absolute; top: 72px; left: 0; right: 0; }
  .fs-topo .fs-menu {
    flex-direction: column; align-items: stretch; gap: 2px; display: none;
    background: var(--fs-papel); border-bottom: 1px solid var(--fs-linha); padding: 12px 16px 20px;
    max-height: calc(100vh - 72px); overflow-y: auto;
  }
  .fs-menu.fs-aberto { display: flex; }
  .fs-menu > li > a, .fs-gatilho { padding: 12px 14px; font-size: 17px; width: 100%; justify-content: space-between; }
  .fs-lista { position: static; width: auto; box-shadow: none; margin: 4px 0 8px; }
  .fs-menu .fs-cta { margin: 8px 0 0; justify-content: center; }
}

/* Rodapé */
.fs-rodape { padding: 56px 0 40px; border-top: 1px solid var(--fs-linha); background: var(--fs-papel); }
.fs-colunas { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.fs-rodape h4 { margin: 0 0 12px; font: 600 13px/1.4 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--fs-suave); }
.fs-rodape li { margin: 6px 0; }
.fs-rodape li a { font-size: 15px; }
.fs-rodape li a:hover { color: var(--fs-verde-2); text-decoration: underline; }
.fs-logo-uni { width: 190px; height: auto; margin-top: 18px; display: block; }
.fs-redes { display: flex; gap: 10px; margin-top: 16px; }
.fs-redes a {
  width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--fs-linha); background: var(--fs-branco);
  display: grid; place-items: center; color: var(--fs-verde);
}
.fs-redes a:hover { border-color: var(--fs-verde-2); }
.fs-redes svg { width: 20px; height: 20px; }
.fs-copy { margin-top: 40px; font-size: 13px; color: var(--fs-suave); }
@media (max-width: 900px) { .fs-colunas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .fs-colunas { grid-template-columns: 1fr; } }

.fs-topo :focus-visible, .fs-rodape :focus-visible { outline: 3px solid var(--fs-ambar); outline-offset: 3px; border-radius: 6px; }
