:root{
	--bg-body:#f7f9fc;
	--bg-card:#ffffff;
	--text-main:#24364a;
	--text-soft:#5d7085;
	--border-soft:#e2eaf3;

	--header-bg:#1a3e6e;
	--header-shadow:0 1px 5px rgba(0,0,0,0.07);

	--menu-bg:#f3f3f3;
	--menu-border:#e1e1e1;
	--menu-link:#4b4b4b;
	--menu-link-hover:#0a2342;
	--menu-hover-bg:rgba(15,47,87,0.10);
	--menu-border-active:#c9961a;

	--faixa-saudacao:#2f659f;
	--faixa-santo:#2b2b2b;
	--link-santo:#d9ef62;
	--link-santo-hover:#fff38a;

	--input-bg:#ffffff;
	--input-text:#444;
	--input-shadow:inset 0 1px 2px rgba(0,0,0,0.08);

	--botao-modo-bg:rgba(255,255,255,0.12);
	--botao-modo-border:rgba(255,255,255,0.22);
	--botao-modo-text:#ffffff;
}

html,
body{
	margin:0;
	padding:0;
	background:var(--bg-body);
	color:var(--text-main);
}

body{
	margin:0 !important;
	padding:0 !important;
}

body > *:first-child{
	margin-top:0 !important;
}

html.modo-escuro,
body.modo-escuro{
	--bg-body:#0f1722;
	--bg-card:#182230;
	--text-main:#e7eef7;
	--text-soft:#aebccc;
	--border-soft:#2b3a4d;

	--header-bg:#102742;
	--header-shadow:0 1px 7px rgba(0,0,0,0.24);

	--menu-bg:#16202c;
	--menu-border:#243345;
	--menu-link:#d8e3ef;
	--menu-link-hover:#ffffff;
	--menu-hover-bg:rgba(255,255,255,0.08);
	--menu-border-active:#d8a327;

	--faixa-saudacao:#1d4d7c;
	--faixa-santo:#161c24;
	--link-santo:#dbe87c;
	--link-santo-hover:#fff0a3;

	--input-bg:#101923;
	--input-text:#e5edf6;
	--input-shadow:inset 0 1px 2px rgba(0,0,0,0.35);

	--botao-modo-bg:rgba(255,255,255,0.10);
	--botao-modo-border:rgba(255,255,255,0.16);
	--botao-modo-text:#ffffff;
}

.topo_wrap,
.topo_wrap *{
	box-sizing:border-box;
}

.topo_wrap{
	width:100%;
	font-family:Arial, Helvetica, sans-serif;
	margin:0;
	padding:0;
	display:block;
}

.topo_wrap img{
	border:0;
}

.topo_wrap a{
	text-decoration:none;
	color:inherit;
}

.topo_wrap button,
.topo_wrap input{
	font-family:Arial, Helvetica, sans-serif;
}

.topo_wrap::before,
.topo_wrap::after{
	content:"";
	display:table;
}

.topo_wrap::after{
	clear:both;
}

.header_principal{
	background:var(--header-bg);
	box-shadow:var(--header-shadow);
}

.header_click{
	cursor:pointer;
	transition:filter .12s ease;
}

.header_click:hover{
	filter:brightness(1.03);
}

.header_principal_container{
	max-width:1200px;
	margin:auto;
	padding:0 34px;
	min-height:140px;
	display:grid;
	grid-template-columns:270px 1fr 290px;
	align-items:center;
	column-gap:18px;
}

.logo_area{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	padding-left:85px;
}

.logo_area img{
	height:100px;
	width:auto;
	display:block;
}

.centro_area{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
}

.marca_site{
	margin:0;
	color:#ffffff;
	font-size:52px;
	font-weight:800;
	line-height:1.05;
	letter-spacing:1px;
	font-family:Georgia, "Times New Roman", serif;
}

.submarca_site{
	margin-top:7px;
	color:#d9e7f6;
	font-size:19px;
	font-weight:600;
	opacity:.92;
}

.busca_area{
	display:flex;
	justify-content:flex-end;
	align-items:center;
}

.acoes_topo{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:10px;
	width:100%;
}

.area_membro_topo{
	display:flex;
	align-items:center;
	gap:6px;
	flex-wrap:wrap;
	font-size:12px;
	color:#ffffff;
}

.header_principal .area_membro_topo,
.header_principal .area_membro_topo span,
.header_principal .area_membro_topo a,
.header_principal .area_membro_topo a:visited{
	color:#ffffff !important;
}

.area_membro_topo .membro_nome{
	font-weight:bold;
	color:#ffffff;
}

.area_membro_topo a{
	text-decoration:none;
	font-weight:bold;
}

.area_membro_topo a:hover{
	color:#d9ef62 !important;
	text-decoration:underline;
}

.botao_modo{
	width:42px;
	height:42px;
	border-radius:50%;
	border:1px solid var(--botao-modo-border);
	background:var(--botao-modo-bg);
	color:var(--botao-modo-text);
	cursor:pointer;
	font-size:18px;
	line-height:1;
	flex:0 0 42px;
	transition:background .15s ease, transform .15s ease, border-color .15s ease;
}

.botao_modo:hover{
	transform:translateY(-1px);
}

.menu_area{
	background:var(--menu-bg);
	border-bottom:1px solid var(--menu-border);
}

.menu_container{
	max-width:1200px;
	margin:auto;
	padding:0 16px;
}

.menu_mobile{
	display:none;
	background:none;
	border:none;
	font-size:28px;
	padding:10px 14px;
	cursor:pointer;
	width:100%;
	text-align:left;
	color:var(--menu-link);
}

.menu_site ul{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	justify-content:center;
	gap:8px;
	flex-wrap:wrap;
}

.menu_site li{
	padding:0;
}

.menu_site a{
	display:block;
	padding:11px 12px;
	color:var(--menu-link);
	font-size:12px;
	font-weight:700;
	text-transform:uppercase;
	border-radius:8px;
	border-bottom:3px solid transparent;
	transition:background .15s ease, color .15s ease;
	white-space:nowrap;
}

.menu_site a:hover{
	color:var(--menu-link-hover);
	background:var(--menu-hover-bg);
	border-bottom-color:var(--menu-border-active);
}

.menu_mobile_lista{
	display:none;
	list-style:none;
	margin:10px 0 0 0;
	padding:0;
	background:var(--bg-card);
	border-radius:12px;
	border:1px solid var(--border-soft);
	overflow:hidden;
	box-shadow:0 4px 12px rgba(0,0,0,0.07);
}

.menu_mobile_lista.ativo{
	display:block;
}

.menu_mobile_lista li{
	border-top:1px solid var(--border-soft);
}

.menu_mobile_lista li:first-child{
	border-top:none;
}

.menu_mobile_lista a{
	display:block;
	padding:12px 14px;
	color:#173f70;
	font-weight:700;
	font-size:14px;
	text-transform:uppercase;
}

.menu_mobile_lista a:hover{
	background:var(--menu-hover-bg);
}

body.modo-escuro .menu_mobile_lista a{
	color:#dce6f1;
}

.faixa_info{
	width:100%;
}

.faixa_saudacao{
	background:var(--faixa-saudacao);
}

.faixa_santo{
	background:var(--faixa-santo);
	border-top:1px solid rgba(255,255,255,0.05);
}

.faixa_info_container{
	max-width:1200px;
	margin:auto;
	padding:4px 18px;
	text-align:center;
}

.texto_saudacao{
	color:#ffffff;
	font-size:12px;
	font-family:Georgia, "Times New Roman", serif;
}

.faixa_santo .faixa_info_container{
	text-align:center;
}

.link_santo_faixa{
	display:inline-block;
	color:var(--link-santo) !important;
	font-size:12px;
	font-family:Georgia, "Times New Roman", serif;
	font-weight:700;
	text-decoration:none;
}

.link_santo_faixa:visited{
	color:var(--link-santo) !important;
}

.link_santo_faixa:hover{
	color:var(--link-santo-hover) !important;
	text-decoration:underline;
}

body.modo-escuro .container_oracoes,
body.modo-escuro .container_oracao,
body.modo-escuro .container_liturgia,
body.modo-escuro .container_construcao,
body.modo-escuro .container_site{
	color:var(--text-main);
}

body.modo-escuro .item_oracao,
body.modo-escuro .box_oracao,
body.modo-escuro .box_construcao,
body.modo-escuro .box_destaque,
body.modo-escuro .card_portal,
body.modo-escuro .box_liturgia,
body.modo-escuro .subtopo_oracoes,
body.modo-escuro .bloco_oracoes_info,
body.modo-escuro .faixa_portal{
	background:var(--bg-card) !important;
	color:var(--text-main) !important;
	border-color:var(--border-soft) !important;
	box-shadow:0 8px 24px rgba(0,0,0,0.22) !important;
}

body.modo-escuro .desc_oracao,
body.modo-escuro .rodape_texto,
body.modo-escuro .subtitulo_oracoes,
body.modo-escuro .info_oracao{
	color:var(--text-soft) !important;
}

body.modo-escuro .titulo_pagina_oracoes,
body.modo-escuro .titulo_oracao,
body.modo-escuro .titulo_secao,
body.modo-escuro .marca_site,
body.modo-escuro .conteudo_portal h3,
body.modo-escuro .conteudo_portal h2,
body.modo-escuro .box_destaque h3{
	color:var(--text-main) !important;
}

@media(max-width:1024px){
	.header_principal_container{
		grid-template-columns:230px 1fr 280px;
		padding:0 24px;
		min-height:118px;
	}

	.logo_area{
		padding-left:18px;
	}

	.marca_site{
		font-size:31px;
	}
}

@media(max-width:860px){
	.header_principal_container{
		grid-template-columns:1fr;
		row-gap:8px;
		padding:10px 14px;
		min-height:auto;
	}

	.logo_area{
		justify-content:center;
		padding-left:0;
	}

	.logo_area img{
		height:64px;
		width:auto;
	}

	.centro_area{
		align-items:center;
		text-align:center;
	}

	.busca_area{
		justify-content:center;
	}

	.acoes_topo{
		justify-content:center;
		flex-wrap:wrap;
		gap:8px;
	}

	.area_membro_topo{
		justify-content:center;
	}

	.menu_site{
		display:none;
	}

	.menu_mobile{
		display:block;
		font-size:20px;
		padding:8px 12px;
		text-align:center;
	}

	.menu_mobile_lista{
		margin:6px 0 10px 0;
	}

	.menu_mobile_lista.ativo{
		display:grid;
		grid-template-columns:repeat(2, 1fr);
	}

	.menu_mobile_lista li{
		border-top:1px solid var(--border-soft);
		border-right:1px solid var(--border-soft);
	}

	.menu_mobile_lista li:nth-child(1),
	.menu_mobile_lista li:nth-child(2){
		border-top:none;
	}

	.menu_mobile_lista li:nth-child(2n){
		border-right:none;
	}

	.menu_mobile_lista a{
		padding:12px 8px;
		font-size:12px;
		text-align:center;
		line-height:1.2;
		min-height:42px;
		display:flex;
		align-items:center;
		justify-content:center;
	}

	.marca_site{
		font-size:28px;
	}

	.submarca_site{
		font-size:13px;
		margin-top:3px;
	}

	.faixa_info_container{
		padding:3px 10px;
	}

	.texto_saudacao,
	.link_santo_faixa{
		text-align:center;
		display:block;
		font-size:11px;
		line-height:1.25;
	}
}

@media(min-width:861px){
	.menu_mobile_lista{
		display:none !important;
	}
}

@media(max-width:560px){
	.header_principal_container{
		padding:8px 10px;
		row-gap:6px;
	}

	.logo_area img{
		height:54px;
	}

	.marca_site{
		font-size:24px;
	}

	.submarca_site{
		font-size:12px;
	}

	.botao_modo{
		width:36px;
		height:36px;
		flex:0 0 36px;
		font-size:15px;
	}

	.area_membro_topo{
		font-size:11px;
	}

	.menu_mobile{
		font-size:18px;
		padding:7px 10px;
	}

	.menu_mobile_lista a{
		padding:11px 6px;
		font-size:11px;
		min-height:40px;
	}

	.faixa_info_container{
		padding:2px 8px;
	}

	.texto_saudacao,
	.link_santo_faixa{
		font-size:10px;
		line-height:1.2;
	}
}

@media(max-width:380px){
	.menu_mobile_lista.ativo{
		display:block;
	}

	.menu_mobile_lista li{
		border-right:none;
	}

	.menu_mobile_lista li:nth-child(2){
		border-top:1px solid var(--border-soft);
	}

	.menu_mobile_lista a{
		justify-content:flex-start;
		text-align:left;
		padding:10px 12px;
		font-size:11px;
		min-height:auto;
	}
}

/* PERFORMANCE - cabeçalho */
@media(max-width:860px){
	.header_click:hover{
		filter:none;
	}

	.botao_modo,
	.menu_site a{
		transition:none !important;
	}
}

@media(prefers-reduced-motion:reduce){
	.topo_wrap *,
	.topo_wrap *::before,
	.topo_wrap *::after{
		animation:none !important;
		transition:none !important;
	}
}
