@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root {
	/* Paleta alinhada ao design-system/MASTER.md (aprovado em brainstorming 2026-07-01):
	   navy institucional + azul de acao + roxo/violeta (cor real da marca, para secoes de
	   destaque de conteudo em paginas futuras) + dourado reservado para uso comemorativo
	   (65 anos), nunca em botao de acao. */
	--ucsal-color-primary: #1E3A5F;
	--ucsal-color-primary-dark: #142942;
	--ucsal-color-cta: #2563EB;
	--ucsal-color-cta-dark: #1D4ED8;
	--ucsal-color-secondary-accent: #5B21B6;
	--ucsal-color-secondary-accent-dark: #4C1D95;
	--ucsal-color-celebratory: #A16207;
	--ucsal-color-background: #F8FAFC;
	--ucsal-color-foreground: #0F172A;
	--ucsal-color-muted: #E9EEF5;
	--ucsal-color-muted-foreground: #64748B;
	--ucsal-color-border: #CBD5E1;
	--ucsal-color-destructive: #DC2626;

	/* Escala de sombra fixa (design-system/MASTER.md secao 4) - nunca usar valores fora desta lista */
	--ucsal-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.06);
	--ucsal-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.12), 0 2px 4px rgba(15, 23, 42, 0.08);
	--ucsal-shadow-lg: 0 8px 24px rgba(15, 23, 42, 0.16);

	/* Tipografia: EB Garamond (titulos, tom solene/historico) + Inter (corpo/UI, legibilidade e acessibilidade) */
	--ucsal-font-heading: 'EB Garamond', Georgia, serif;
	--ucsal-font-base: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

*, *::before, *::after {
	box-sizing: border-box;
}

body {
	font-family: var(--ucsal-font-base);
	color: var(--ucsal-color-foreground);
	background-color: var(--ucsal-color-background);
	font-size: 16px;
	line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ucsal-font-heading);
	color: var(--ucsal-color-primary);
	line-height: 1.25;
}

a {
	color: var(--ucsal-color-cta);
}

/* Foco visivel para navegacao por teclado (acessibilidade) */
a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 3px solid var(--ucsal-color-cta);
	outline-offset: 2px;
}

/* ================= TOPBAR (barra superior) ================= */
.ucsal-topbar {
	background: linear-gradient(135deg, var(--ucsal-color-primary) 0%, var(--ucsal-color-primary-dark) 100%);
	padding: 0.5rem 1.5rem;
}

.ucsal-topbar .elementor-container {
	align-items: center;
}

/* Icones sociais monocromaticos e consistentes - sobrescreve as cores de marca padrao do Elementor (preto/azul/vermelho/cinza por rede). Confirma o padrao ja usado no rodape do site atual da UCSal. */
.ucsal-topbar .elementor-social-icon,
.ucsal-topbar .elementor-social-icon:visited {
	background-color: transparent !important;
	color: rgba(255, 255, 255, 0.85) !important;
	width: 32px !important;
	height: 32px !important;
	line-height: 32px !important;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 8px !important;
	transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.ucsal-topbar .elementor-social-icon:hover {
	transform: translateY(-1px);
}

.ucsal-topbar .elementor-social-icon svg {
	fill: currentColor;
	width: 16px;
	height: 16px;
}

.ucsal-topbar .elementor-social-icon:hover,
.ucsal-topbar .elementor-social-icon:focus-visible {
	background-color: rgba(255, 255, 255, 0.15) !important;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.65);
}

.ucsal-topbar .elementor-grid {
	gap: 0.5rem;
}

/* Busca */
.ucsal-search-form {
	display: flex;
	align-items: stretch;
	height: 36px;
	max-width: 320px;
	margin: 0 auto;
}

.ucsal-search-form input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border: none;
	border-radius: 999px 0 0 999px;
	padding: 0 1rem;
	font-family: var(--ucsal-font-base);
	font-size: 0.85rem;
	background-color: rgba(255, 255, 255, 0.95);
	color: var(--ucsal-color-foreground);
}

.ucsal-search-form input[type="search"]::placeholder {
	color: var(--ucsal-color-muted-foreground);
}

.ucsal-search-form button {
	flex: 0 0 auto;
	border: none;
	border-radius: 0 999px 999px 0;
	padding: 0 1.1rem;
	background-color: var(--ucsal-color-cta);
	color: #fff;
	font-family: var(--ucsal-font-base);
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 200ms ease;
}

.ucsal-search-form button:hover {
	background-color: var(--ucsal-color-cta-dark);
}

/* Links da barra superior: layout de linha unica no desktop, separador visual, sem herdar o azul de link padrao */
.ucsal-topbar .elementor-item {
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: color 200ms ease;
	white-space: nowrap;
}

.ucsal-topbar .elementor-item:hover,
.ucsal-topbar .elementor-item:focus-visible {
	color: #fff !important;
	text-decoration: underline;
}

@media (min-width: 1025px) {
	.ucsal-topbar .elementor-nav-menu {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		gap: 0;
	}

	.ucsal-topbar .elementor-nav-menu .menu-item:not(:last-child)::after {
		content: "|";
		color: rgba(255, 255, 255, 0.3);
		margin: 0 0.75rem;
	}
}

/* ================= MENU PRINCIPAL ================= */
.ucsal-sticky-menu {
	background-color: #fff;
	border-bottom: 1px solid var(--ucsal-color-border);
	padding: 1.5rem 1.5rem;
	box-shadow: var(--ucsal-shadow-sm);
	position: relative;
	z-index: 10;
	transition: box-shadow 200ms ease;
}

.ucsal-sticky-menu.is-stuck {
	box-shadow: var(--ucsal-shadow-lg);
}

/* Wordmark / logo (texto ate a logo oficial em brasao/escudo ser fornecida) */
.ucsal-sticky-menu .elementor-widget-heading .elementor-heading-title {
	font-family: var(--ucsal-font-heading);
	font-weight: 800;
	font-size: 2.25rem;
	color: var(--ucsal-color-primary);
	letter-spacing: 0.01em;
	margin: 0;
	line-height: 1;
}

/* Itens do menu principal: sem sublinhado padrao, espacamento generoso, indicador de hover com underline animado */
.ucsal-sticky-menu .elementor-item {
	color: var(--ucsal-color-foreground) !important;
	font-family: var(--ucsal-font-base);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	padding: 0.5rem 0;
	position: relative;
	display: inline-block;
}

.ucsal-sticky-menu .elementor-item::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background-color: var(--ucsal-color-cta);
	transition: width 200ms ease;
}

.ucsal-sticky-menu .elementor-item:hover {
	color: var(--ucsal-color-primary) !important;
}

.ucsal-sticky-menu .elementor-item:hover::after,
.ucsal-sticky-menu .elementor-item:focus-visible::after {
	width: 100%;
}

@media (min-width: 1025px) {
	.ucsal-sticky-menu .elementor-nav-menu {
		display: flex !important;
		flex-wrap: nowrap;
		align-items: center;
		gap: 2rem;
		justify-content: flex-end;
	}
}

/* CTA de destaque: INSCREVA-SE vira um botao solido azul (cor de acao real da marca UCSal, nao dourado) */
.ucsal-sticky-menu .menu-item.ucsal-cta {
	margin-left: 0.5rem;
}

.ucsal-sticky-menu .menu-item.ucsal-cta .elementor-item {
	background-color: var(--ucsal-color-cta);
	color: #fff !important;
	border-radius: 999px;
	padding: 0.65rem 1.5rem;
	font-weight: 700;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	box-shadow: var(--ucsal-shadow-sm);
	transition: background-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.ucsal-sticky-menu .menu-item.ucsal-cta .elementor-item::after {
	display: none;
}

.ucsal-sticky-menu .menu-item.ucsal-cta .elementor-item:hover {
	background-color: var(--ucsal-color-cta-dark);
	color: #fff !important;
	box-shadow: var(--ucsal-shadow-md);
	transform: translateY(-1px);
}

/* ================= FALLBACK (sem Theme Builder publicado) ================= */
.ucsal-fallback-header,
.ucsal-fallback-footer {
	padding: 1rem;
	text-align: center;
}

/* ================= RESPONSIVO ================= */
@media (max-width: 1024px) {
	.ucsal-topbar {
		padding: 0.5rem 1rem;
	}

	.ucsal-topbar .elementor-container {
		flex-wrap: wrap;
		row-gap: 0.5rem;
	}
}
