/**
 * Asta Mobili — Footer global do site.
 *
 * Reprodução visual fiel do mockup aprovado (backups/mockup/rv07/"Asta
 * Mobili.dc.html", bloco final). Todos os valores vêm do HTML do mockup:
 *
 *   wrapper     padding:clamp(30px,3.4cqw,64px) clamp(20px,4cqw,64px)
 *               clamp(30px,3.4cqw,56px); background:#141311;
 *               position:relative; overflow:hidden
 *   inner       max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap;
 *               gap:24px; justify-content:space-between
 *   brand       display:flex; flex-direction:column; gap:12px
 *   logo        <img logo-asta-branco.png> width:auto; max-width:150px;
 *               height:26px; object-fit:contain; object-position:left center
 *   tagline     font-size:12px; line-height:1.55; color:#7C7669; max-width:260px
 *   groups      display:flex; flex-wrap:wrap; gap:clamp(20px,3cqw,56px)
 *   group       display:flex; flex-direction:column; gap:8px
 *   group-title Inter; font-size:9.5px; letter-spacing:0.14em; uppercase;
 *               color:#57524A
 *   link        font-size:12.5px; color:#B9B3A8
 *
 * As unidades `cqw` do mockup (relativas ao frame de apresentação) foram
 * convertidas para `vw` — o footer ocupa 100% da largura da viewport —
 * seguindo a mesma convenção do Hero e das seções da Home.
 *
 * HOVER: o mockup não define estado de hover nos links do footer. Adotado aqui
 * um clareamento para #FFFFFF (nunca o magenta herdado do Hello Elementor,
 * nunca sublinhado/fundo indevido) — ponto para validação visual manual, com
 * o vermelho Asta como alternativa se preferido.
 *
 * RESPONSIVIDADE (comportamento do RV07): o inner é `display:flex;
 * flex-wrap:wrap; justify-content:space-between`. No desktop a marca fica à
 * esquerda e os blocos Navegação+Contato à direita. No tablet, enquanto há
 * espaço a composição é preservada; quando aperta, o grupo da direita quebra
 * para baixo da marca. No mobile (<=600px) tudo empilha em coluna — marca,
 * Navegação, Contato — com gaps compactos e sem overflow horizontal
 * (`overflow:hidden` + full-bleed por 100vw).
 *
 * CONTEÚDO EDITÁVEL: a marca (logo pela Media Library + tagline), os títulos
 * das colunas e o bloco Contato (e-mail, telefone) são administrados em
 * Asta → Footer (option `asta_footer_settings`); a navegação usa o menu nativo
 * do WordPress na localização `asta_footer_menu` (Aparência → Menus), com
 * fallback Produtos/Setores/A Asta/Licitações. Este CSS (layout/tipografia/
 * cores/responsividade) permanece FIXO no código e não depende de
 * configuração. Sem JS no frontend.
 *
 * RENDERIZAÇÃO GLOBAL (desde v2.20.0): o Footer Asta é injetado em `wp_footer`
 * em toda página pública (ver class-asta-site-footer.php). Enquanto ativo, o
 * footer padrão do tema (Hello Elementor) é apenas OCULTADO — bloco "FOOTER
 * GLOBAL" no fim deste arquivo, escopado pela body class
 * `asta-custom-footer-active`. O shortcode `[asta_site_footer]` continua
 * válido para inserção manual (protegido contra render duplicado).
 *
 * FAIXA BRANCA acima do footer quando inserido via widget Shortcode do
 * Elementor (caso manual): vem do padding padrão de todo `.e-con` do Elementor
 * (`--container-default-padding-top/bottom`, 10px), tratada em
 * asta-sections-flush.css. No caso GLOBAL o footer é filho direto de <body>,
 * fora de container Elementor — ver bloco "FOOTER GLOBAL" abaixo.
 */

.asta-site-footer,
.asta-site-footer *,
.asta-site-footer *::before,
.asta-site-footer *::after { box-sizing:border-box; }

/* Footer full-bleed: quebra o container de conteúdo (Elementor/tema) para o
   fundo escuro ocupar a largura total da viewport, como no mockup. O conteúdo
   volta a se alinhar ao container global de 1180px pelo inner. */
.asta-site-footer {
	position:relative;
	overflow:hidden;
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	padding:clamp(30px, 3.4vw, 64px) clamp(20px, 4vw, 64px) clamp(30px, 3.4vw, 56px);
	background:#141311;
	font-family:Inter, Helvetica, Arial, sans-serif;
	color:#B9B3A8;
}

/* Inner — Mockup: max-width:1180px; margin:0 auto; display:flex;
   flex-wrap:wrap; gap:24px; justify-content:space-between. */
.asta-site-footer__inner {
	max-width:1180px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
	gap:24px;
	justify-content:space-between;
}

/* Marca — Mockup: display:flex; flex-direction:column; gap:12px. */
.asta-site-footer__brand {
	display:flex;
	flex-direction:column;
	gap:12px;
	flex:0 1 auto;   /* não deixa a marca crescer; encolhe se faltar espaço */
	min-width:0;
	max-width:100%;
}

.asta-site-footer__logo-link {
	display:inline-flex;
	flex:none;
	align-self:flex-start;
	max-width:150px;
	text-decoration:none;
	border:0;
}

/* Logo — Mockup: width:auto; max-width:150px; height:26px; object-fit:contain;
   object-position:left center.
   O seletor é escopado com `.asta-site-footer` (especificidade 0,2,0) + faixa
   de `!important` nas dimensões para vencer a regra global do Elementor
   `.elementor img{height:auto;max-width:100%}` (0,1,1) — que, sem isto,
   anula o `height:26px`/`max-width` e faz o logo renderizar gigante. */
.asta-site-footer .asta-site-footer__logo {
	display:block !important;
	width:auto !important;
	height:26px !important;
	max-width:150px !important;
	min-width:0;
	object-fit:contain !important;
	object-position:left center;
	flex:none;
	margin:0;
	border:0;
}

/* Texto institucional — Mockup: font-size:12px; line-height:1.55;
   color:#7C7669; max-width:260px. */
.asta-site-footer__tagline {
	margin:0 !important;
	padding:0;
	max-width:260px;
	font-family:Inter, Helvetica, Arial, sans-serif !important;
	font-size:12px !important;
	font-weight:400 !important;
	line-height:1.55 !important;
	color:#7C7669 !important;
}

/* Grupos à direita — Mockup: display:flex; flex-wrap:wrap;
   gap:clamp(20px,3cqw,56px). */
.asta-site-footer__groups {
	display:flex;
	flex-wrap:wrap;
	gap:clamp(20px, 3vw, 56px);
}

/* Cada bloco — Mockup: display:flex; flex-direction:column; gap:8px. */
.asta-site-footer__group {
	display:flex;
	flex-direction:column;
	gap:8px;
	min-width:0;
}

.asta-site-footer__group--nav { margin:0; }

/* Títulos de coluna — Mockup: Inter; font-size:9.5px; letter-spacing:0.14em;
   text-transform:uppercase; color:#57524A. */
.asta-site-footer__group-title {
	margin:0 !important;
	padding:0;
	font-family:Inter, Helvetica, Arial, sans-serif !important;
	font-size:9.5px !important;
	font-weight:500 !important;
	line-height:1.2 !important;
	letter-spacing:.14em !important;
	text-transform:uppercase !important;
	color:#57524A !important;
}

.asta-site-footer__list {
	list-style:none !important;
	margin:0 !important;
	padding:0 !important;
	display:flex;
	flex-direction:column;
	gap:8px;
}

.asta-site-footer__list li {
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}

.asta-site-footer__list li::before,
.asta-site-footer__list li::marker { content:none !important; }

/* Links — Mockup: font-size:12.5px; color:#B9B3A8. Os !important neutralizam
   heranças do Hello Elementor (magenta, sublinhado, fundo, tipografia).
   Cobre tanto o fallback (`a.asta-site-footer__link`) quanto os itens vindos
   do menu nativo do WordPress (`wp_nav_menu` → `.asta-site-footer__list a`). */
.asta-site-footer__link,
.asta-site-footer__list a {
	display:inline-block;
	background:none !important;
	border:0 !important;
	box-shadow:none !important;
	padding:0;
	font-family:Inter, Helvetica, Arial, sans-serif !important;
	font-size:12.5px !important;
	font-weight:400 !important;
	line-height:1.35 !important;
	letter-spacing:normal !important;
	color:#B9B3A8 !important;
	text-decoration:none !important;
	transition:color .18s ease;
}

.asta-site-footer__link:hover,
.asta-site-footer__link:focus,
.asta-site-footer__link:focus-visible,
.asta-site-footer__link:active,
.asta-site-footer__list a:hover,
.asta-site-footer__list a:focus,
.asta-site-footer__list a:focus-visible,
.asta-site-footer__list a:active {
	color:#FFFFFF !important;
	text-decoration:none !important;
	background:none !important;
}

/* Foco visível — acessibilidade. */
.asta-site-footer__link:focus-visible,
.asta-site-footer__list a:focus-visible,
.asta-site-footer__logo-link:focus-visible {
	outline:2px solid #FFFFFF;
	outline-offset:3px;
	border-radius:2px;
}

.asta-site-footer a:focus:not(:focus-visible) { outline:none; }

/* Tablet: preserva a composição enquanto há espaço; o `flex-wrap:wrap` do
   inner já move o grupo da direita para baixo da marca quando aperta. Aqui só
   afrouxamos um pouco os gaps. */
@media (max-width:900px) {
	.asta-site-footer__inner { gap:28px 24px; }
}

/* Mobile: empilha em coluna — marca, Navegação, Contato — com gaps compactos.
   Sem footer excessivamente alto; alvos de toque confortáveis. */
@media (max-width:600px) {
	.asta-site-footer__inner {
		flex-direction:column;
		gap:26px;
	}
	.asta-site-footer__groups {
		flex-direction:column;
		gap:22px;
	}
	.asta-site-footer__link {
		padding:2px 0;
	}
}

/* ===========================================================================
   FOOTER GLOBAL  (v2.20.0+)
   ===========================================================================
   O Footer Asta é renderizado globalmente em `wp_footer`
   (Asta_Site_Footer::render_global) e a body class `asta-custom-footer-active`
   é adicionada sempre que essa renderização global está ativa. Mesmo princípio
   do Header global (`asta-custom-header-active #site-header`).
*/

/* 1) Neutraliza o footer padrão do Hello Elementor (e o de Theme Builder, se
      houver) enquanto o Footer Asta global estiver ativo. Só oculta — não
      remove markup, não toca no tema, não depende do Theme Builder. Reversível:
      sem a body class (plugin desativado / filtro `asta_site_footer_global`
      retornando false) o footer do tema volta a aparecer. */
.asta-custom-footer-active #site-footer,
.asta-custom-footer-active .elementor-location-footer {
	display:none !important;
}

/* 2) Encosta o Footer global na seção anterior. No modo global o
      `<footer class="asta-site-footer">` é filho direto de <body>, fora de
      qualquer container Elementor — portanto NÃO contribui com padding próprio
      (o full-bleed por 100vw/negative-margin já funciona a partir do <body>).
      O único respiro remanescente é o `padding-block-end` padrão (10px) do
      ÚLTIMO container Elementor da página; zeramos apenas esse, escopado à body
      class. Não afeta o padding INTERNO das seções nem a junção CTA→Footer da
      Home via `[asta_site_footer]` (essa continua coberta por
      asta-sections-flush.css). */
.asta-custom-footer-active .elementor > .e-con-full:last-child,
.asta-custom-footer-active .elementor > .e-con:last-child > .e-con-inner {
	padding-block-end:0 !important;
}
