/* Start custom CSS for shortcode, class: .elementor-element-c262a1a *//* ==========================================================================
   LEXSTUDI — CABEÇALHO + RODAPÉ · v1.0 (temporário) · Agosto 2026
   Ficheiro dedicado e independente — NÃO usa as secções reservadas do
   header-footer.css (essas ficam para a versão 2.0 com JetMenu/JetSearch).
   Requer lexstudi-tokens.css já carregado globalmente (variáveis --color-*,
   --space-*, --font-*, etc.).

   Breakpoint único: 768px.
     < 768px  → cabeçalho mínimo (logo + ticker), SEM rodapé. Toda a
                navegação fica a cargo da Bottom Nav já existente
                (lexstudi-menu.css/js) — este ficheiro não a toca.
     ≥ 768px  → nav completa visível, sem hambúrguer; rodapé completo.
   ========================================================================== */

/* ---------- CABEÇALHO ---------- */

.lex-header {
  position: sticky;
  top: 0;
  z-index: var(--z-sticky-header);
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}

.lex-header-inner {
  max-width: var(--grid-max-width);
  margin: 0 auto;
  padding: 0 var(--grid-padding-mobile);
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: var(--space-m);
}
@media (min-width: 768px) {
  .lex-header-inner {
    padding: 0 var(--grid-gutter-desktop);
    min-height: 76px;
    gap: var(--space-xl);
  }
}

.lex-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  line-height: 0;
}
.lex-logo img {
  height: 34px;
  width: auto;
  display: block;
}
@media (min-width: 768px) {
  .lex-logo img { height: 40px; }
}

/* Ticker — preenche o cabeçalho mobile, desaparece a partir de 768px */
.lex-ticker {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  background: var(--color-bg-alt);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  padding: 7px 0;
}
.lex-ticker-track {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  font: var(--type-caption);
  color: var(--color-text-muted);
  animation: lex-ticker-scroll 17s linear infinite;
}
@keyframes lex-ticker-scroll {
  to { transform: translateX(-100%); }
}
@media (min-width: 768px) {
  .lex-ticker { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .lex-ticker-track { animation: none; padding-left: var(--space-m); }
}

/* Nav — só ≥768px, sem hambúrguer, sem toggle */
.lex-nav { display: none; }
@media (min-width: 768px) {
  .lex-nav { display: block; flex: 1; min-width: 0; }
  .lex-nav ul {
    display: flex;
    align-items: center;
    gap: var(--space-xl);
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
  }
  .lex-nav-link {
    position: relative;
    display: inline-block;
    font: var(--weight-body-medium) var(--text-body-sm) var(--font-body);
    color: var(--color-text-heading);
    text-decoration: none;
    padding: 4px 0;
    transition: color var(--duration-base) var(--ease-standard);
  }
  .lex-nav-link::after {
    content: '';
    position: absolute;
    left: 0; right: 100%; bottom: -3px;
    height: 2px;
    background: var(--color-accent);
    transition: right var(--duration-base) var(--ease-standard);
  }
  .lex-nav-link:hover,
  .lex-nav-link.lex-active { color: var(--color-primary); }
  .lex-nav-link:hover::after,
  .lex-nav-link.lex-active::after { right: 0; }
}

/* CTA — botão Entrar (visitante) / avatar (sessão iniciada) */
.lex-header-cta { flex-shrink: 0; }

.lex-cta-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: var(--space-s) var(--space-l);
  border-radius: var(--btn-radius);
  border: 1.5px solid var(--color-primary);
  font: var(--weight-heading-semibold) var(--text-body-sm) var(--font-heading);
  color: var(--color-primary);
  text-decoration: none;
  transition: background var(--duration-base) var(--ease-standard),
              color var(--duration-base) var(--ease-standard);
}
.lex-cta-login:hover { background: var(--color-primary); color: var(--color-white); }
.lex-cta-login:focus-visible { outline: none; box-shadow: var(--focus-ring); }

.lex-cta-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--gradient-primary);
  color: var(--color-white);
  font: var(--weight-heading-bold) 14px var(--font-heading);
  text-decoration: none;
  box-shadow: var(--shadow-sm);
  transition: transform var(--duration-base) var(--ease-standard);
}
.lex-cta-avatar:hover { transform: scale(1.07); }
.lex-cta-avatar:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* ---------- RODAPÉ (só ≥768px) ---------- */
/* Fundo claro de propósito — o logótipo do rodapé é a versão monocromática
   azul-escura, feita para assentar sobre um fundo claro, não escuro. */

.lex-footer { display: none; }
@media (min-width: 768px) {
  .lex-footer {
    display: block;
    background: var(--color-bg-alt);
    border-top: 1px solid var(--color-border);
    padding: var(--space-3xl) 0 var(--space-xl);
  }
}

.lex-footer-inner {
  max-width: var(--grid-max-width);
  margin: 0 auto;
  padding: 0 var(--grid-gutter-desktop);
}

.lex-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: var(--space-2xl);
}
@media (min-width: 768px) and (max-width: 899px) {
  .lex-footer-grid { grid-template-columns: 1fr 1fr; }
  .lex-footer-brand { grid-column: 1 / -1; }
}

.lex-footer-logo { height: 36px; width: auto; display: block; margin-bottom: var(--space-m); }
.lex-footer-brand p {
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--color-text-muted);
  max-width: 320px;
  margin: 0;
}

.lex-footer-col h4 { font: var(--type-h4); color: var(--color-text-heading); margin: 0 0 var(--space-m); }
.lex-footer-col ul { list-style: none; margin: 0; padding: 0; }
.lex-footer-col li { margin-bottom: var(--space-s); }
.lex-footer-col a {
  font-size: var(--text-body-sm);
  color: var(--color-text-muted);
  text-decoration: none;
  transition: color var(--duration-base) var(--ease-standard);
}
.lex-footer-col a:hover { color: var(--color-primary); }

.lex-footer-bottom {
  margin-top: var(--space-2xl);
  padding-top: var(--space-l);
  border-top: 1px solid var(--color-border);
  text-align: center;
}
.lex-footer-bottom p { font-size: var(--text-caption); color: var(--color-text-muted); margin: 0; }

/* ---------- MOVIMENTO REDUZIDO ---------- */
@media (prefers-reduced-motion: reduce) {
  .lex-nav-link, .lex-nav-link::after, .lex-cta-avatar, .lex-cta-login { transition: none; }
}/* End custom CSS */