/* =========================================================
   NAVBAR
   ========================================================= */
.site-header{
	position: sticky;
	top: 0;
	z-index: 500;
	background: var(--cor-offwhite);
	border-bottom: 1px solid var(--cor-cinza-linha);
}

.navbar{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: 0.9rem;
}

.navbar__logo{
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.navbar__logo img{
	max-height: 56px;
	width: auto;
}

.navbar__logo-texto{
	font-family: var(--fonte-titulo);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--cor-petroleo);
}

.navbar__logo-texto span{ color: var(--cor-destaque); }

.navbar__menu{
	display: flex;
	align-items: center;
	gap: 2rem;
}

.menu-principal{
	display: flex;
	align-items: center;
	gap: 1.85rem;
	flex-wrap: wrap;
}

.menu-principal a{
	font-weight: 600;
	font-size: 0.98rem;
	color: var(--cor-texto);
	position: relative;
	padding-block: 0.3rem;
}

.menu-principal a::after{
	content: "";
	position: absolute;
	left: 0; right: 100%;
	bottom: 0;
	height: 2px;
	background: var(--cor-destaque);
	transition: right var(--transicao);
}

.menu-principal a:hover::after,
.menu-principal .current-menu-item > a::after{ right: 0; }

.menu-principal .sub-menu{
	display: none;
	position: absolute;
	background: var(--cor-branco);
	box-shadow: var(--sombra-suave);
	padding: 0.5rem 0;
	min-width: 200px;
	border-radius: var(--raio);
	margin-top: 0.75rem;
}

.menu-principal li{ position: relative; }
.menu-principal li:hover > .sub-menu{ display: block; }
.menu-principal .sub-menu a{ display: block; padding: 0.6rem 1.1rem; }
.menu-principal .sub-menu a::after{ display: none; }

.navbar__cta{
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.navbar__toggle{
	display: none;
	background: transparent;
	border: none;
	padding: 0.5rem;
	color: var(--cor-petroleo);
}

.navbar__toggle svg{ width: 28px; height: 28px; }

.navbar__mobile-wrapper{ display: contents; }

@media (max-width: 960px){
	.navbar__menu{
		position: fixed;
		inset: 0 0 0 auto;
		top: 0;
		height: 100vh;
		width: min(320px, 84vw);
		background: var(--cor-offwhite);
		flex-direction: column;
		align-items: flex-start;
		padding: 5.5rem 1.75rem 2rem;
		gap: 1.75rem;
		transform: translateX(100%);
		transition: transform 0.3s ease;
		box-shadow: -12px 0 30px rgba(0,0,0,0.12);
		overflow-y: auto;
	}
	.navbar__menu.esta-aberto{ transform: translateX(0); }

	.menu-principal{
		flex-direction: column;
		align-items: flex-start;
		gap: 1.25rem;
		width: 100%;
	}
	.menu-principal .sub-menu{
		display: none;
		position: static;
		box-shadow: none;
		padding-left: 1rem;
		margin-top: 0.5rem;
	}
	.menu-principal li.submenu-aberto > .sub-menu{ display: block; }

	.navbar__cta{
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
	}
	.navbar__cta .btn{ width: 100%; justify-content: center; }

	.navbar__toggle{ display: inline-flex; }

	.overlay-menu{
		display: none;
		position: fixed;
		inset: 0;
		background: rgba(43,42,40,0.45);
		z-index: 499;
	}
	.overlay-menu.esta-aberto{ display: block; }
}

/* =========================================================
   HERO
   ========================================================= */
.hero{
	position: relative;
	background: linear-gradient(180deg, var(--cor-creme) 0%, var(--cor-offwhite) 100%);
	overflow: hidden;
}

.hero__grid{
	display: grid;
	grid-template-columns: minmax(0,1.05fr) minmax(0,0.95fr);
	align-items: center;
	gap: 3rem;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.hero__conteudo{ max-width: 560px; }

.hero__titulo{
	font-size: var(--fs-display);
	margin-bottom: 0.65em;
}

.hero__subtitulo{
	font-size: 1.15rem;
	color: var(--cor-cinza-quente);
	margin-bottom: 2rem;
}

.hero__imagem-wrapper{
	position: relative;
	border-radius: var(--raio-grande) 3.5rem var(--raio-grande) var(--raio-grande);
	overflow: hidden;
	aspect-ratio: 4 / 4.6;
	box-shadow: var(--sombra-suave);
}

.hero__imagem-wrapper img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero__imagem-wrapper::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(169,120,138,0) 55%, rgba(121,84,101,0.30) 100%);
}

.hero__sem-imagem{
	background: var(--cor-petroleo);
}

.hero__faixa-decorativa{
	position: absolute;
	top: -60px; right: -60px;
	width: 220px; height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(169,120,138,0.20), transparent 70%);
	pointer-events: none;
}

@media (max-width: 900px){
	.hero__grid{
		grid-template-columns: 1fr;
	}
	.hero__imagem-wrapper{ order: -1; aspect-ratio: 16/11; }
	.hero__conteudo{ max-width: 100%; }
}

/* =========================================================
   ÁREA DE ATENDIMENTO (faixa logo após o Hero)
   ========================================================= */
.faixa-atendimento{
	background: var(--cor-petroleo);
	color: var(--cor-offwhite);
}

.faixa-atendimento__inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
	padding-block: 2.5rem;
}

.faixa-atendimento h2{
	color: var(--cor-offwhite);
	font-size: var(--fs-h3);
	margin-bottom: 0.35rem;
}

.faixa-atendimento p{
	color: rgba(250,247,241,0.82);
	margin-bottom: 0;
	max-width: 46ch;
}

.faixa-atendimento__texto{ max-width: 640px; }

/* =========================================================
   NOSSOS SERVIÇOS
   ========================================================= */
.servicos__grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
}

.servico-card{
	background: var(--cor-offwhite);
	border: 1px solid var(--cor-cinza-linha);
	border-top: 3px solid var(--cor-destaque);
	border-radius: var(--raio);
	padding: 2.1rem 1.75rem 1.9rem;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	transition: transform var(--transicao), box-shadow var(--transicao);
}

.servico-card:hover{
	transform: translateY(-4px);
	box-shadow: var(--sombra-suave);
}

.servico-card__icone{
	width: 54px;
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--cor-creme);
	border-radius: 50%;
	color: var(--cor-petroleo);
	flex-shrink: 0;
}

.servico-card__icone svg{ width: 28px; height: 28px; }

.servico-card__titulo{
	font-size: var(--fs-servico);
	font-weight: 700;
	color: var(--cor-petroleo);
	margin: 0;
}

.servico-card__descricao{
	color: var(--cor-cinza-quente);
	font-size: 0.98rem;
	margin: 0;
	flex-grow: 1;
}

.servico-card__link{
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 700;
	color: var(--cor-destaque-escuro);
	font-size: 0.95rem;
	margin-top: 0.3rem;
}

.servico-card__link svg{ width: 1em; height: 1em; transition: transform var(--transicao); }
.servico-card__link:hover svg{ transform: translateX(3px); }

@media (max-width: 960px){
	.servicos__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
	.servicos__grid{ grid-template-columns: 1fr; }
}

/* =========================================================
   BANNERS DE DESTAQUE (Orientação / Óbito)
   ========================================================= */
.banner-destaque{
	position: relative;
	min-height: 460px;
	display: flex;
	align-items: center;
	background-color: var(--cor-petroleo);
	background-size: cover;
	background-position: center;
	color: var(--cor-offwhite);
	overflow: hidden;
}

.banner-destaque::before{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(105deg, rgba(72,55,66,0.78) 0%, rgba(72,55,66,0.58) 48%, rgba(72,55,66,0.28) 100%);
}

.banner-destaque__conteudo{
	position: relative;
	z-index: 2;
	max-width: 620px;
	padding-block: 3.5rem;
}

.banner-destaque__titulo{
	color: var(--cor-offwhite);
	font-size: var(--fs-h1);
	margin-bottom: 0.6rem;
}

.banner-destaque__subtitulo{
	color: rgba(250,247,241,0.85);
	font-size: 1.1rem;
	margin-bottom: 2rem;
}

.banner-obito{
	background-color: var(--cor-petroleo-escuro);
}

.banner-obito::before{
	background: linear-gradient(105deg, rgba(64,45,57,0.82) 0%, rgba(64,45,57,0.62) 55%, rgba(64,45,57,0.30) 100%);
}

.banner-obito__palavra{
	color: var(--cor-destaque);
	letter-spacing: 0.01em;
}

@media (max-width: 700px){
	.banner-destaque{ min-height: 0; padding-block: 1rem; }
	.banner-destaque__conteudo{ padding-block: 2.25rem; }
	.banner-destaque__titulo{ font-size: clamp(1.6rem, 7vw, 2.1rem); }
}

/* =========================================================
   O QUE FAZER EM CASO DE FALECIMENTO — LINHA DO TEMPO
   ========================================================= */
.processo{
	position: relative;
}

.processo__lista{
	position: relative;
	max-width: 760px;
	margin-inline: auto;
}

.processo__lista::before{
	content: "";
	position: absolute;
	left: 27px;
	top: 6px;
	bottom: 6px;
	width: 2px;
	background: var(--cor-cinza-linha);
}

.processo__item{
	position: relative;
	display: flex;
	gap: 1.5rem;
	padding-bottom: 2.5rem;
}

.processo__item:last-child{ padding-bottom: 0; }

.processo__numero{
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--cor-offwhite);
	border: 2px solid var(--cor-destaque);
	color: var(--cor-petroleo);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--fonte-titulo);
	font-weight: 700;
	font-size: 1.25rem;
	position: relative;
	z-index: 1;
}

.processo__texto{ padding-top: 0.5rem; }

.processo__texto h3{ margin-bottom: 0.35rem; font-size: 1.2rem; }

.processo__texto p{ color: var(--cor-cinza-quente); margin-bottom: 0; }

/* =========================================================
   ORIENTAÇÕES E DOCUMENTOS
   ========================================================= */
.orientacoes__grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

.orientacao-item{
	display: flex;
	gap: 1.1rem;
	align-items: flex-start;
	background: var(--cor-branco);
	border: 1px solid var(--cor-cinza-linha);
	border-radius: var(--raio);
	padding: 1.5rem;
}

.orientacao-item__icone{
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--cor-creme);
	color: var(--cor-petroleo);
	display: flex;
	align-items: center;
	justify-content: center;
}

.orientacao-item__icone svg{ width: 22px; height: 22px; }

.orientacao-item h3{ font-size: 1.05rem; margin-bottom: 0.3rem; }

.orientacao-item p{ color: var(--cor-cinza-quente); font-size: 0.95rem; margin-bottom: 0; }

@media (max-width: 760px){
	.orientacoes__grid{ grid-template-columns: 1fr; }
}

/* =========================================================
   PERGUNTAS FREQUENTES (FAQ / Accordion)
   ========================================================= */
.faq__lista{
	max-width: 820px;
	margin-inline: auto;
}

.faq-item{
	border-bottom: 1px solid var(--cor-cinza-linha);
}

.faq-item__pergunta{
	width: 100%;
	background: transparent;
	border: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	text-align: left;
	padding: 1.35rem 0.25rem;
	font-family: var(--fonte-titulo);
	font-size: 1.08rem;
	font-weight: 600;
	color: var(--cor-petroleo);
}

.faq-item__icone{
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1.5px solid var(--cor-destaque);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cor-destaque-escuro);
	transition: transform var(--transicao);
}

.faq-item__icone svg{ width: 14px; height: 14px; }

.faq-item.esta-aberto .faq-item__icone{ transform: rotate(45deg); }

.faq-item__resposta{
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.faq-item__resposta-inner{
	padding: 0 0.25rem 1.4rem;
	color: var(--cor-cinza-quente);
}

.faq-item__resposta-inner p:last-child{ margin-bottom: 0; }

/* =========================================================
   QUEM SOMOS
   ========================================================= */
.quemsomos__grid{
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 3.5rem;
	align-items: center;
}

.quemsomos__imagem{
	border-radius: 3.5rem var(--raio-grande) var(--raio-grande) var(--raio-grande);
	overflow: hidden;
	box-shadow: var(--sombra-suave);
}

.quemsomos__conteudo p{ color: var(--cor-cinza-quente); }

@media (max-width: 900px){
	.quemsomos__grid{ grid-template-columns: 1fr; }
	.quemsomos__imagem{ order: -1; }
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{
	background: var(--cor-petroleo-escuro);
	color: rgba(250,247,241,0.85);
}

.site-footer a{ color: rgba(250,247,241,0.85); }
.site-footer a:hover{ color: var(--cor-destaque); }

.footer__topo{
	display: grid;
	grid-template-columns: 1.35fr 1fr 1.2fr;
	gap: 2.5rem;
	padding-block: 3.5rem;
	border-bottom: 1px solid rgba(250,247,241,0.14);
}

.footer__marca{ max-width: 320px; }

.footer__logo{
	display: inline-flex;
	margin-bottom: 1rem;
}
.footer__logo img{ max-height: 70px; max-width: 280px; width: auto; height: auto; filter: brightness(0) invert(1); opacity: 0.98; }
.footer__logo-texto{
	font-family: var(--fonte-titulo);
	font-size: 1.3rem;
	color: var(--cor-offwhite);
}
.footer__logo-texto span{ color: var(--cor-destaque); }

.footer__marca p{ color: rgba(250,247,241,0.7); font-size: 0.95rem; }

.footer__col h3{
	color: var(--cor-offwhite);
	font-size: 1rem;
	font-family: var(--fonte-corpo);
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 1.1rem;
}

.footer__col ul{ display: flex; flex-direction: column; gap: 0.7rem; }
.footer__col ul li a{ font-size: 0.95rem; }

.footer__contato li{
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	font-size: 0.95rem;
	color: rgba(250,247,241,0.85);
}
.footer__contato svg{ width: 18px; height: 18px; flex-shrink: 0; margin-top: 0.15rem; color: var(--cor-destaque); }

.footer__social{
	display: flex;
	gap: 0.75rem;
	margin-top: 1.25rem;
}
.footer__social a{
	width: 38px; height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(250,247,241,0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color var(--transicao), border-color var(--transicao);
}
.footer__social a:hover{ background: var(--cor-destaque); border-color: var(--cor-destaque); color: var(--cor-petroleo-escuro); }
.footer__social svg{ width: 18px; height: 18px; }

.footer__base{
	padding-block: 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	font-size: 0.88rem;
	color: rgba(250,247,241,0.6);
}

.footer__whatsapp-flutuante{
	position: fixed;
	right: 1.4rem;
	bottom: 1.4rem;
	z-index: 600;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--cor-petroleo);
	color: var(--cor-offwhite);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 24px -8px rgba(72,55,66,0.32);
	transition: transform var(--transicao), background-color var(--transicao);
}
.footer__whatsapp-flutuante:hover{ transform: scale(1.06); background: var(--cor-petroleo-escuro); }
.footer__whatsapp-flutuante svg{ width: 28px; height: 28px; }

@media (max-width: 900px){
	.footer__topo{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
	.footer__topo{ grid-template-columns: 1fr; }
	.footer__base{ flex-direction: column; text-align: center; }
}

/* =========================================================
   PÁGINAS INTERNAS / BLOG / 404
   ========================================================= */
.pagina-header{
	background: var(--cor-creme);
	padding-block: 3rem;
	border-bottom: 1px solid var(--cor-cinza-linha);
}

.pagina-header h1{ margin-bottom: 0.4rem; }

.breadcrumb{
	font-size: 0.9rem;
	color: var(--cor-cinza-quente);
}
.breadcrumb a{ color: var(--cor-petroleo); font-weight: 600; }

.conteudo-padrao{
	max-width: 780px;
}

.conteudo-padrao img{ border-radius: var(--raio); margin-block: 1.5rem; }

.conteudo-padrao h2{ margin-top: 1.6em; }

.blog__grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.post-card{
	border: 1px solid var(--cor-cinza-linha);
	border-radius: var(--raio);
	overflow: hidden;
	background: var(--cor-offwhite);
	display: flex;
	flex-direction: column;
}

.post-card__imagem{ aspect-ratio: 16/10; overflow: hidden; }
.post-card__imagem img{ width: 100%; height: 100%; object-fit: cover; }

.post-card__corpo{ padding: 1.4rem; display: flex; flex-direction: column; gap: 0.6rem; flex-grow: 1; }

.post-card__data{ font-size: 0.85rem; color: var(--cor-cinza-quente); }

.post-card__titulo{ font-size: 1.15rem; margin: 0; }
.post-card__titulo a:hover{ color: var(--cor-destaque-escuro); }

.post-card__resumo{ color: var(--cor-cinza-quente); font-size: 0.95rem; flex-grow: 1; }

.paginacao{
	display: flex;
	gap: 0.6rem;
	margin-top: 2.5rem;
	flex-wrap: wrap;
}
.paginacao a, .paginacao span{
	padding: 0.55rem 1rem;
	border: 1px solid var(--cor-cinza-linha);
	border-radius: var(--raio);
}
.paginacao .current{ background: var(--cor-petroleo); color: var(--cor-offwhite); border-color: var(--cor-petroleo); }

.pagina-404{
	text-align: center;
	padding-block: 5rem;
}
.pagina-404__numero{
	font-family: var(--fonte-titulo);
	font-size: clamp(4rem, 12vw, 7rem);
	color: var(--cor-destaque);
	line-height: 1;
	margin-bottom: 0.3rem;
}

@media (max-width: 960px){
	.blog__grid{ grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 640px){
	.blog__grid{ grid-template-columns: 1fr; }
}

.comentarios{ margin-top: 3rem; max-width: 780px; }
.comment-list{ display: flex; flex-direction: column; gap: 1.5rem; }
.comment-list .children{ margin-top: 1.5rem; padding-left: 2rem; }
.comentario{ border: 1px solid var(--cor-cinza-linha); border-radius: var(--raio); padding: 1.25rem; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid var(--cor-cinza-linha);
	border-radius: var(--raio);
	margin-bottom: 1rem;
	background: var(--cor-branco);
}
.comment-form textarea{ min-height: 130px; }
