/* ===== Traventia UI — Rodapé (usa .tv-footer, ver Templates/home/footer.php) =====
   Estava em pages/home.css (só carregava em páginas específicas), mas o
   rodapé passou a aparecer em toda página pública (HomeController::
   render_footer_if_missing()) — inclusive páginas que não carregam nenhum
   CSS de página (ex: single-therapist.php). Componente sempre carregado,
   junto com navbar.css/buttons.css/etc, evita telas sem esses estilos
   (o sintoma real: ícones do rodapé sem width/height definidos, exibidos
   no tamanho intrínseco do SVG — mais de 1000px). */

/* Sprint Polimento — mais respiro no desktop (mobile já foi compactado
   numa sprint anterior, ver bloco @media max-width:767px mais abaixo). */
.tv-footer {
	background: var(--tv-bg-alt);
	border-top: 1px solid var(--tv-border-gold);
	padding: var(--tv-space-16) 0 var(--tv-space-8);
}

.tv-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: var(--tv-space-12);
	padding-bottom: var(--tv-space-10);
}

.tv-footer-brand { display: flex; flex-direction: column; gap: var(--tv-space-2); }

.tv-footer-brand-name {
	font-size: var(--tv-text-xl);
	font-weight: var(--tv-font-bold);
	color: var(--tv-text-heading);
	letter-spacing: 0.02em;
}

.tv-footer-brand-text { color: var(--tv-text-muted); font-size: var(--tv-text-sm); margin: 0; max-width: 260px; }

.tv-footer-col { display: flex; flex-direction: column; gap: var(--tv-space-3); }

.tv-footer-col-titulo {
	display: flex;
	align-items: center;
	gap: var(--tv-space-2);
	font-size: var(--tv-text-xs);
	font-weight: var(--tv-font-semibold);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--tv-text-heading);
	margin: 0 0 var(--tv-space-2);
}

/* Sprint Polimento — ícones um pouco menores (eram 14px), tipografia dos
   links mais confortável. */
.tv-footer-col-titulo svg { width: 12px; height: 12px; color: var(--tv-primary); flex-shrink: 0; }

.tv-footer-col a {
	display: inline-block;
	text-decoration: none;
	font-size: var(--tv-text-sm);
	line-height: var(--tv-leading-relaxed);
	color: var(--tv-text-muted);
	transition: color var(--tv-transition-fast), transform var(--tv-transition-fast);
}

.tv-footer-col a:hover { color: var(--tv-primary); transform: translateX(2px); }

.tv-footer-copy { font-size: var(--tv-text-xs); color: var(--tv-text-muted); text-align: center; padding-top: var(--tv-space-6); border-top: 1px solid var(--tv-border); }

@media (max-width: 1023px) {
	.tv-footer-grid { grid-template-columns: repeat(2, 1fr); }
	.tv-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 599px) {
	.tv-footer-grid { grid-template-columns: 1fr; gap: var(--tv-space-6); }
}

/* Sprint Mobile — rodapé mais compacto (padding/gaps menores), tipografia
   um pouco maior para legibilidade em telas pequenas. */
@media (max-width: 767px) {
	.tv-footer { padding: var(--tv-space-8) 0 var(--tv-space-4); }
	.tv-footer-grid { gap: var(--tv-space-4); padding-bottom: var(--tv-space-6); }
	.tv-footer-copy { padding-top: var(--tv-space-4); }
	.tv-footer-col a { font-size: var(--tv-text-base); }
}
