/* ==========================================================================
   Ecomtur — layout.css
   Cabeçalho (barra flutuante + mega-menu), menu mobile e rodapé.
   ========================================================================== */

/* Wrapper do Alpine (cabeçalho + overlay + menu mobile) — não gera caixa */
.ect_site-header { display: contents; }

/* Cabeçalho --------------------------------------------------------------- */
.ect_header {
	position: sticky;
	top: var(--ect-adminbar);
	z-index: 800;
	height: var(--ect-header-h);
	padding: var(--ect-header-space) var(--ect-header-space);
	margin-bottom: calc(var(--ect-header-h) * -1); /* flutua sobre a 1ª seção */
	color: var(--ect-neutral-white);
	pointer-events: none; /* o vão em volta da barra não bloqueia a página */
}
/* Desfoca o conteúdo que passa por trás da faixa do cabeçalho (o vão em volta da
   barra), para o texto da página não brigar com o menu. Some em degradê na borda
   de baixo para não marcar uma linha reta. */
.ect_header::before {
	content: "";
	position: absolute;
	inset: 0 0 -1rem;
	z-index: -1;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	-webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 1.75rem), transparent);
	mask-image: linear-gradient(to bottom, #000 calc(100% - 1.75rem), transparent);
	pointer-events: none;
}
.ect_header__shell {
	position: relative;
	max-width: var(--ect-shell-max);
	margin-inline: auto;
	border: 1px solid #ffffff1f;
	border-radius: 1.25rem;
	background-color: color-mix(in srgb, var(--ect-neutral-black), transparent 12%);
	-webkit-backdrop-filter: blur(1rem);
	backdrop-filter: blur(1rem);
	box-shadow: 0 1rem 2.5rem #0000004d;
	pointer-events: auto;
	transition: background-color var(--ect-duration-slow) var(--ect-ease), border-color var(--ect-duration-slow) var(--ect-ease);
}
.is-mega .ect_header__shell,
.is-drawer .ect_header__shell { border-color: #ffffff29; background-color: var(--ect-neutral-black); }
.ect_header__bar {
	display: flex;
	align-items: center;
	gap: var(--ect-gap-sm);
	min-height: var(--ect-header-bar);
	padding: .625rem .625rem .625rem 1.5rem;
}
.ect_header__brand { flex: none; margin-right: var(--ect-gap-xs); }
.ect_header__nav { flex: 1; min-width: 0; }
.ect_header__actions { display: flex; align-items: center; gap: var(--ect-gap-xs); margin-left: auto; }
/* Mesma altura do botão do menu mobile (2.75rem). */
.ect_header__actions .ect_button { min-height: 2.75rem; padding-block: 0; padding-inline: 1.25rem; font-size: 1rem; }
.ect_header__login:hover { background-color: #ffffff1a; }

/* Overlay atrás do mega-menu */
.ect_header-overlay {
	position: fixed;
	inset: 0;
	z-index: 790;
	background-color: #0009;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

/* Itens do menu (pílulas) */
.ect_nav__list { display: flex; align-items: center; gap: .125rem; margin: 0; padding: 0; list-style: none; }
.ect_nav__item {
	display: flex;
	align-items: center;
	border-radius: .75rem;
	transition: background-color var(--ect-duration) var(--ect-ease);
}
.ect_nav__item:hover { background-color: #ffffff1a; }
.ect_nav__item.is-open { background-color: #ffffff26; }
.ect_nav__link,
.ect_nav__toggle {
	display: flex;
	align-items: center;
	gap: .375rem;
	min-height: 2.75rem;
	padding: 0 1rem;
	border-radius: .75rem;
	font-weight: 500;
	white-space: nowrap;
}
.ect_nav__toggle { padding-right: .875rem; color: inherit; cursor: pointer; }
.ect_nav__chevron { font-size: .75rem; opacity: .6; transition: transform var(--ect-duration-slow) var(--ect-ease-out), opacity var(--ect-duration) var(--ect-ease); }
.ect_nav__item.is-open .ect_nav__chevron { transform: rotate(180deg); opacity: 1; }
/* Ativo: a página atual é o item ou um filho dele. A seta herda a mesma cor do texto. */
.ect_nav__item--current > .ect_nav__link,
.ect_nav__link[aria-current="page"] { color: var(--ect-orange); }
.ect_nav__item--current .ect_nav__chevron { opacity: 1; }

/* Mega-menu --------------------------------------------------------------- */
/* Recolhido por padrão (grid 0fr → 1fr anima a altura sem medir em JS). */
.ect_mega {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--ect-duration-slow) var(--ect-ease-out);
}
.is-mega .ect_mega { grid-template-rows: 1fr; }
.ect_mega__clip { min-height: 0; overflow: hidden; }
.ect_mega__panel {
	display: flex;
	flex-direction: column;
	gap: var(--ect-gap-lg);
	max-width: var(--ect-container);
	margin-inline: auto;
	padding: var(--ect-gap-md) var(--ect-gutter) var(--ect-gap-lg);
}
.ect_mega__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--ect-gap-sm); }
.ect_mega__title { font-size: var(--ect-display-xs); letter-spacing: -.01em; }
.ect_mega__title strong { font-weight: 600; }
.ect_mega__title span { color: var(--ect-white-muted); }
.ect_mega__all { display: inline-flex; align-items: center; gap: .375rem; font-weight: 500; color: var(--ect-white-muted); transition: color var(--ect-duration) var(--ect-ease); }
.ect_mega__all:hover { color: var(--ect-neutral-white); }
.ect_mega__all .ect_icon { transition: transform var(--ect-duration) var(--ect-ease); }
.ect_mega__all:hover .ect_icon { transform: translateX(3px); }
.ect_mega__body { display: grid; gap: var(--ect-gap-lg); }
.ect_mega__panel--aside .ect_mega__body { grid-template-columns: minmax(16rem, 1fr) minmax(0, 2fr); }
.ect_mega__name { font-weight: 600; line-height: 1.3; }
.ect_mega__panel .ect_mega__link[aria-current="page"] .ect_mega__name,
.ect_mega__card[aria-current="page"] .ect_mega__name { color: var(--ect-orange); }

/* Rodapé do painel: divisor + link "ver tudo" */
.ect_mega__foot { margin-top: calc(var(--ect-gap-md) * -1); padding-top: var(--ect-gap-md); border-top: 1px solid #ffffff1f; }
.ect_mega__cta { display: inline-flex; align-items: center; gap: .625rem; color: var(--ect-orange); font-weight: 600; }
.ect_mega__cta .ect_icon--arrow-right { transition: transform var(--ect-duration) var(--ect-ease); }
.ect_mega__cta:hover .ect_icon--arrow-right { transform: translateX(4px); }
.ect_mega__cta:hover span { text-decoration: underline; text-underline-offset: .2em; }
.ect_mega__desc { color: var(--ect-white-muted); font-size: var(--ect-text-sm); line-height: 1.45; }
.ect_mega__label { margin-bottom: var(--ect-gap-sm); color: var(--ect-white-muted); font-size: var(--ect-text-xs); font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }

/* Layout "cards": ilustração + título + descrição */
.ect_mega__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: var(--ect-gap-md); margin: 0; padding: 0; list-style: none; }
.ect_mega__card { display: flex; flex-direction: column; gap: .5rem; height: 100%; }
.ect_mega__visual {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	margin-bottom: .5rem;
	border-radius: var(--ect-radius-main);
	background:
		radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--ect-blue), transparent 55%), transparent 60%),
		linear-gradient(160deg, var(--ect-navy), var(--ect-neutral-1000));
	border: 1px solid #ffffff14;
	color: var(--ect-neutral-white);
	font-size: 2.5rem;
	overflow: hidden;
	transition: border-color var(--ect-duration-slow) var(--ect-ease);
}
.ect_mega__visual .ect_icon { transition: transform var(--ect-duration-slow) var(--ect-ease-out); }
.ect_mega__card:hover .ect_mega__visual { border-color: color-mix(in srgb, var(--ect-orange), transparent 40%); }
.ect_mega__card:hover .ect_mega__visual .ect_icon { transform: scale(1.12) rotate(-4deg); }
.ect_mega__cards li:nth-child(3n+2) .ect_mega__visual { background: radial-gradient(circle at 70% 25%, color-mix(in srgb, var(--ect-green), transparent 50%), transparent 60%), linear-gradient(160deg, var(--ect-navy), var(--ect-neutral-1000)); }
.ect_mega__cards li:nth-child(3n) .ect_mega__visual { background: radial-gradient(circle at 50% 10%, color-mix(in srgb, var(--ect-orange), transparent 60%), transparent 60%), linear-gradient(160deg, var(--ect-navy), var(--ect-neutral-1000)); }

/* Layout "list": ícone + texto + seta */
.ect_mega__list { display: flex; flex-direction: column; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.ect_mega__link {
	display: flex;
	align-items: center;
	gap: var(--ect-gap-sm);
	padding: .625rem;
	border-radius: var(--ect-radius-main);
	transition: background-color var(--ect-duration) var(--ect-ease);
}
.ect_mega__link:hover { background-color: #ffffff12; }
.ect_mega__panel:not(.ect_mega__panel--aside) .ect_mega__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: .25rem var(--ect-gap-md); }
.ect_mega__tile {
	display: grid;
	flex: none;
	place-items: center;
	width: 3rem;
	aspect-ratio: 1;
	border: 1px solid #ffffff1f;
	border-radius: var(--ect-radius-md);
	background-color: var(--ect-neutral-900);
	color: var(--ect-orange);
	font-size: 1.25rem;
}
.ect_mega__text { display: flex; flex: 1; flex-direction: column; gap: .125rem; min-width: 0; }
.ect_mega__go { opacity: .5; transition: transform var(--ect-duration) var(--ect-ease), opacity var(--ect-duration) var(--ect-ease); }
.ect_mega__link:hover .ect_mega__go { opacity: 1; transform: translate(2px, -2px); }

/* Destaque e posts */
.ect_mega__aside { min-width: 0; }
.ect_mega__posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ect-gap-md); margin: 0; padding: 0; list-style: none; }
.ect_mega__post { display: flex; flex-direction: column; gap: var(--ect-gap-sm); }
.ect_mega__thumb {
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--ect-radius-main);
	background: linear-gradient(160deg, var(--ect-navy), var(--ect-neutral-1000));
	color: var(--ect-white-muted);
	font-size: 2rem;
}
.ect_mega__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--ect-duration-slow) var(--ect-ease-out); }
.ect_mega__post:hover .ect_mega__thumb img { transform: scale(1.04); }
.ect_mega__promo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	overflow: hidden;
	height: 100%;
	min-height: 12rem;
	border: 1px solid #ffffff1f;
	border-radius: var(--ect-radius-section);
	background-color: var(--ect-neutral-900);
}
.ect_mega__promo-text { display: flex; flex-direction: column; gap: .5rem; padding: var(--ect-gap-md); }
.ect_mega__more { display: inline-flex; align-items: center; gap: .375rem; margin-top: auto; font-weight: 600; }
.ect_mega__more .ect_icon { transition: transform var(--ect-duration) var(--ect-ease); }
.ect_mega__promo:hover .ect_mega__more .ect_icon { transform: translateX(3px); }
.ect_mega__promo-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--ect-duration-slow) var(--ect-ease-out); }
.ect_mega__promo:hover .ect_mega__promo-media img { transform: scale(1.04); }

/* Entrada em sequência (reinicia sempre que o painel aparece) */
@keyframes ect-rise {
	from { opacity: 0; transform: translateY(.75rem); }
}
.ect_mega__anim { animation: ect-rise .5s var(--ect-ease-out) both; animation-delay: calc(var(--i, 0) * 45ms + 40ms); }

/* Botão do menu mobile: [≡ Menu] → [× Fechar] ---------------------------- */
.ect_menu-toggle {
	display: none;
	align-items: center;
	gap: .625rem;
	min-height: 2.75rem;
	padding: 0 1rem;
	border-radius: .75rem;
	background-color: #ffffff1a;
	color: var(--ect-neutral-white);
	font-weight: 500;
	transition: background-color var(--ect-duration) var(--ect-ease);
}
.ect_menu-toggle:hover { background-color: #ffffff29; }
.ect_menu-toggle__icon { position: relative; width: 18px; height: 12px; }
/* Valores em px inteiros: as três barras ficam com a mesma espessura em qualquer tela. */
.ect_menu-toggle__icon span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background-color: currentColor;
	transition: top .3s var(--ect-ease-out), transform .3s var(--ect-ease-out), opacity .2s var(--ect-ease);
}
.ect_menu-toggle__icon span:nth-child(1) { top: 0; }
.ect_menu-toggle__icon span:nth-child(2) { top: 5px; }
.ect_menu-toggle__icon span:nth-child(3) { top: 10px; }
.ect_menu-toggle.is-active .ect_menu-toggle__icon span:nth-child(1) { top: 5px; transform: rotate(45deg); }
.ect_menu-toggle.is-active .ect_menu-toggle__icon span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.ect_menu-toggle.is-active .ect_menu-toggle__icon span:nth-child(3) { top: 5px; transform: rotate(-45deg); }
.ect_menu-toggle__label { display: grid; height: 1.5em; overflow: hidden; line-height: 1.5; }
.ect_menu-toggle__text { grid-area: 1 / 1; transition: transform .3s var(--ect-ease-out), opacity .3s var(--ect-ease); }
.ect_menu-toggle__text--close { transform: translateY(100%); opacity: 0; }
.ect_menu-toggle.is-active .ect_menu-toggle__text--open { transform: translateY(-100%); opacity: 0; }
.ect_menu-toggle.is-active .ect_menu-toggle__text--close { transform: none; opacity: 1; }

/* Menu mobile (tela cheia, abaixo da barra) ------------------------------- */
.ect_drawer {
	position: fixed;
	inset: 0;
	z-index: 795;
	display: flex;
	flex-direction: column;
	/* --ect-drawer-top vem do JS (fundo da barra, já com a admin-bar); o calc é o reserva. */
	padding-top: var(--ect-drawer-top, calc(var(--ect-adminbar) + var(--ect-header-h)));
	background-color: var(--ect-neutral-black);
	color: var(--ect-neutral-white);
}
.ect_drawer__inner {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--ect-gap-lg);
	min-height: 0;
	padding: var(--ect-gap-xs) calc(var(--ect-header-space) + .75rem) calc(var(--ect-gap-md) + env(safe-area-inset-bottom));
	overflow-y: auto;
	overscroll-behavior: contain;
}
.ect_drawer__list { margin: 0; padding: 0; list-style: none; }
.ect_drawer__item { border-bottom: 1px solid #ffffff1f; }
.ect_drawer__row { display: flex; align-items: center; gap: var(--ect-gap-xs); }
.ect_drawer__link {
	flex: 1;
	padding-block: 1.125rem;
	font-size: var(--ect-display-xs);
	font-weight: 600;
	letter-spacing: -.01em;
	text-align: left;
}
a.ect_drawer__link[aria-current="page"] { color: var(--ect-orange); }
.ect_drawer__expand { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: var(--ect-gap-sm); color: inherit; text-align: left; }
.ect_drawer__expand .ect_icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: var(--ect-radius-md); background-color: #ffffff12; transition: transform var(--ect-duration-slow) var(--ect-ease-out); }
.ect_drawer__item--current .ect_drawer__link,
.ect_drawer__item--current .ect_drawer__expand { color: var(--ect-orange); }
.ect_drawer__sublist .ect_mega__cta { padding-block: .75rem .25rem; }
.ect_drawer__expand.is-open .ect_icon { transform: rotate(180deg); }
.ect_drawer__sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--ect-duration-slow) var(--ect-ease-out); }
.ect_drawer__sub.is-open { grid-template-rows: 1fr; }
.ect_drawer__sublist { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, max(17rem, calc(50% - .75rem))), 1fr)); gap: .25rem 1.5rem; /* até 2 colunas; 1 quando o card (17rem) não cabe */ min-height: 0; margin: 0; padding: 0; overflow: hidden; list-style: none; }
.ect_drawer__subcta { grid-column: 1 / -1; }
.ect_drawer__sub.is-open .ect_drawer__sublist { padding-bottom: var(--ect-gap-sm); }
.ect_drawer__sublink { display: flex; align-items: center; gap: var(--ect-gap-sm); padding: .5rem 0; }
.ect_drawer__sublink[aria-current="page"] .ect_mega__name { color: var(--ect-orange); }
.ect_drawer__foot { display: flex; flex-direction: column; margin-top: auto; }
.ect_drawer__actions { display: flex; flex-direction: column; gap: var(--ect-gap-xs); }
.ect_drawer__social { display: flex; flex-direction: column; gap: var(--ect-gap-sm); }
.ect_drawer__label { color: var(--ect-white-muted); font-size: var(--ect-text-sm); font-weight: 500; }
.ect_drawer .ect_drawer__anim { animation: ect-rise .5s var(--ect-ease-out) both; animation-delay: calc(var(--i, 0) * 50ms + 80ms); }
.ect_drawer-enter, .ect_drawer-leave { transition: opacity .3s var(--ect-ease); }
.ect_drawer-from, .ect_drawer-to-hidden { opacity: 0; }

@media (max-width: 1299px) {
	:root { --ect-header-bar: 3.75rem; }
	.ect_header__nav, .ect_header__login, .ect_mega, .ect_header-overlay { display: none; }
	.ect_menu-toggle { display: inline-flex; }
	.ect_header__bar { padding: .5rem .5rem .5rem 1.125rem; }
}
@media (min-width: 1300px) {
	.ect_drawer { display: none !important; }
}
@media (max-width: 1439px) and (min-width: 1300px) {
	.ect_nav__link, .ect_nav__toggle--label { padding-inline: .75rem; }
	.ect_mega__panel--aside .ect_mega__body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 599px) {
	.ect_header__cta { display: none; } /* no menu aberto ele aparece */
}
@media (min-width: 600px) {
	.ect_drawer__cta { display: none; } /* o do cabeçalho já está visível */
}
@media (max-width: 479px) {
	:root { --ect-header-space: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
	.ect_mega__anim, .ect_drawer .ect_drawer__anim { animation: none; }
}

/* Conteúdo ---------------------------------------------------------------- */
.ect_main { display: block; min-height: 60vh; }
/* A 1ª seção passa por baixo da barra: a borda transparente estende o fundo dela até o topo. */
.ect_main > :first-child { border-top: var(--ect-header-h) solid transparent; }
/* Post: o artigo não tem fundo; a borda vai para o herói escuro dele. */
.ect_main > .ect_post { border-top: 0; }
.ect_post > .ect_post-hero { border-top: var(--ect-header-h) solid transparent; }
.ect_main:focus { outline: none; }

/* Página simples / post */
.ect_page-hero { padding-block: var(--ect-pad-sm); }
.ect_page-hero__meta { display: flex; flex-wrap: wrap; gap: var(--ect-gap-sm); color: var(--ect-fg-muted); font-size: var(--ect-text-sm); }
.ect_pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ect-gap-xs); margin-top: var(--ect-gap-lg); }
.ect_pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 2.75rem;
	height: 2.75rem;
	padding-inline: .75rem;
	border: var(--ect-border) solid var(--ect-line);
	border-radius: var(--ect-radius-md);
	font-weight: 500;
}
.ect_pagination .page-numbers.current { border-color: var(--ect-blue); background-color: var(--ect-blue); color: var(--ect-neutral-white); }
.ect_pagination a.page-numbers:hover { border-color: var(--ect-orange); }

/* Rodapé (modelo surfer.ai) ---------------------------------------------- */
/* Três linhas na largura do container: tudo que fica "à direita" encosta na mesma borda. */
.ect_footer { padding-block: clamp(5rem, 11vw, 160px) clamp(4rem, 8vw, 7.5rem); font-size: 1rem; }
.ect_footer__wrap {
	display: flex;
	flex-direction: column;
	--ect-footer-gap: 12rem;
	--ect-footer-bottom-space: clamp(5rem, 20vw, 300px);
	gap: var(--ect-footer-gap);
	max-width: var(--ect-container); /* mesmo container do conteúdo (1600px com o respiro) */
	margin-inline: auto;
	padding-inline: var(--ect-gutter);
}
/* Rodapé grandão: 300px entre as colunas e a linha do © / redes. */
.ect_footer__bottom { margin-top: max(0px, calc(var(--ect-footer-bottom-space) - var(--ect-footer-gap))); }
.ect_footer__top,
.ect_footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ect-gap-md) var(--ect-gap-lg); }
.ect_footer__brand .ect_logo__img { width: auto; max-width: 100%; }

/* Avaliações (exemplo) */
.ect_footer__reviews { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--ect-gap-md) 3rem; margin: 0; padding: 0; list-style: none; }
.ect_footer__review { display: inline-flex; align-items: center; gap: .5rem; font-size: 1.0625rem; white-space: nowrap; transition: opacity .3s var(--ect-ease); }
.ect_footer__reviews:hover .ect_footer__review { opacity: .33; }
.ect_footer__reviews:hover .ect_footer__review:hover { opacity: 1; }
.ect_footer__review strong { font-weight: 700; }
.ect_footer__review-source { font-size: 1.125rem; }
.ect_footer__stars { display: inline-flex; gap: .125rem; font-size: .9375rem; color: var(--ect-review, var(--ect-orange)); }
.ect_footer__stars .is-off { color: var(--ect-neutral-700); }
.ect_footer__review--orange { --ect-review: var(--ect-orange); }
.ect_footer__review--amber { --ect-review: #ffb547; }
.ect_footer__review--green { --ect-review: var(--ect-green); }
.ect_footer__muted { color: var(--ect-fg-muted); font-weight: 600; }

/* Colunas: largura do conteúdo (com mínimo) e space-between até a borda direita */
.ect_footer__cols { display: flex; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; gap: 3.5rem 3rem; }
.ect_footer__cols > * { flex: 0 1 auto; min-width: 0; } /* largura do próprio conteúdo */
.ect_footer__group--company { min-width: 16rem; max-width: 20rem; }
.ect_footer__stack { display: flex; flex-direction: column; gap: var(--ect-gap-xl); }
.ect_footer__title { margin-bottom: 1.75rem; font-size: 1.125rem; font-weight: 500; line-height: 1.3; }
.ect_footer__list { display: flex; flex-direction: column; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.ect_footer__link {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	color: var(--ect-fg-muted);
	line-height: 1.5;
	text-underline-offset: .2em;
	transition: color var(--ect-duration) var(--ect-ease);
}
.ect_footer__link:hover { color: var(--ect-fg); text-decoration: underline; }
.ect_footer__link-icon { font-size: .9375em; }
.ect_footer__ext { font-size: .625em; }

/* Coluna de atendimento */
.ect_footer__contacts {
	display: flex;
	flex-direction: column;
	gap: .625rem;
	margin: 0 0 1.75rem;
	padding: 1.25rem 0 0;
	border-top: 1px solid #ffffff1f;
	list-style: none;
}
.ect_footer__contact { display: flex; align-items: flex-start; gap: .625rem; color: var(--ect-fg-muted); line-height: 1.5; }
.ect_footer__contact-icon { width: 1.25rem; margin-top: .1875rem; color: var(--ect-orange); font-size: 1rem; }

/* Canais de atendimento: subtítulo, horário e um card por canal */
.ect_footer__channels-group { display: flex; flex-direction: column; }
.ect_footer__channels-group .ect_footer__title { margin-bottom: 1.75rem; }
.ect_footer__hours { color: var(--ect-fg-muted); line-height: 1.5; }
.ect_footer__channel-list { display: flex; flex-direction: column; gap: 1.25rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.ect_footer__channel-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .25rem;
	gap: .375rem;
	padding: 1rem 2.75rem 1rem 1.125rem;
	border: 1px solid #ffffff1f;
	border-radius: var(--ect-radius-md);
	background-color: #ffffff08;
	transition: border-color var(--ect-duration) var(--ect-ease), background-color var(--ect-duration) var(--ect-ease);
}
.ect_footer__channel-card:hover { border-color: color-mix(in srgb, var(--ect-orange), transparent 40%); background-color: #ffffff0f; }
.ect_footer__channel-name { display: inline-flex; align-items: center; gap: .5rem; color: var(--ect-fg-muted); font-size: .8125rem; font-weight: 500; }
.ect_footer__channel-icon { color: var(--ect-orange); font-size: .9375rem; }
.ect_footer__channel-value { color: var(--ect-fg); font-weight: 600; overflow-wrap: anywhere; }
.ect_footer__channel-go { position: absolute; top: 1rem; right: 1rem; color: var(--ect-fg-muted); font-size: .75rem; transition: transform var(--ect-duration) var(--ect-ease), color var(--ect-duration) var(--ect-ease); }
.ect_footer__channel-card:hover .ect_footer__channel-go { color: var(--ect-fg); transform: translate(2px, -2px); }

/* Base */
.ect_footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.125rem; margin: 0; padding: 0; color: var(--ect-fg-muted); list-style: none; }
.ect_footer__copy { color: var(--ect-fg); }
.ect_footer__copy::after { content: "\2014"; margin-left: 1.125rem; color: var(--ect-fg-muted); }
.ect_footer__credit { color: var(--ect-fg-muted); }
.ect_footer__credit .ect_footer__link { display: inline; }
.ect_footer__social { align-items: center; justify-content: flex-end; gap: var(--ect-gap-main); margin-left: auto; }
.ect_footer__social .ect_social__link { width: auto; height: auto; padding: 0; border: 0; background: none; color: var(--ect-fg-muted); }
.ect_footer__social .ect_social__link:hover { background: none; color: var(--ect-fg); }
.ect_footer__social .ect_icon { font-size: 1.625rem; }

@media (max-width: 1199px) {
	.ect_footer__wrap { --ect-footer-gap: 4rem; }
	.ect_footer__cols { flex-wrap: wrap; justify-content: space-between; gap: 3rem 2.5rem; }
	.ect_footer__group--company { flex-basis: 100%; max-width: 26rem; }
	.ect_footer__reviews { justify-content: flex-start; }
}
@media (max-width: 767px) {
	.ect_footer__wrap { --ect-footer-gap: 3rem; }
	.ect_footer__cols { gap: 2.5rem 2rem; }
	.ect_footer__group--company { min-width: 0; max-width: none; }
	.ect_footer__reviews { flex-direction: column; align-items: flex-start; }
	.ect_footer__social { margin-left: 0; }
	.ect_footer__copy { flex-basis: 100%; }
	.ect_footer__copy::after { display: none; }
}

/* Seletor de idioma ([dsh_idiomas], Devsite HUB) -------------------------- */
/* Globo + sigla do idioma atual; a lista traz os outros. Por cima do CSS do plugin. */
.ect_lang { --dsh-lang-gap: .5rem; --dsh-lang-bg: var(--ect-neutral-1000); --dsh-lang-fg: var(--ect-neutral-white); }
.ect_lang .dsh-lang__toggle {
	gap: .5rem;
	min-height: 2.75rem;
	padding: 0 .875rem;
	border-radius: .75rem;
	color: inherit;
	font-weight: 600;
	transition: background-color var(--ect-duration) var(--ect-ease);
}
.ect_lang .dsh-lang__toggle:hover,
.ect_lang details[open] > .dsh-lang__toggle { background-color: #ffffff1a; }
.ect_lang .dsh-lang__toggle .dsh-lang__code { opacity: 1; font-size: 1em; }
.ect_lang .dsh-lang__list { white-space: nowrap; }
.ect_lang .dsh-lang__toggle .dsh-icon-globe { font-size: 1.0625rem; }
.ect_lang .dsh-lang__caret { opacity: .6; }
.ect_lang .dsh-lang__list {
	z-index: 20;
	min-width: 7.5rem;
	padding: .375rem;
	gap: .125rem;
	border-color: #ffffff1f;
	border-radius: var(--ect-radius-md);
	box-shadow: 0 1.5rem 3rem #0009;
}
.ect_lang .dsh-lang__list .dsh-lang__item { padding: .5rem .75rem; border-radius: .5rem; font-weight: 500; }
.ect_lang .dsh-lang__list .dsh-lang__code { opacity: 1; }
.ect_lang .dsh-lang__list a.dsh-lang__item:hover { background-color: #ffffff12; }
/* Cabeçalho: lista alinhada à direita do botão. */
.ect_lang--header .dsh-lang__list { right: 0; left: auto; }
/* Ponte invisível entre o botão e a lista: o hover não "cai" no vão. */
.ect_lang--header .dsh-lang__list::before { content: ""; position: absolute; inset: -.75rem 0 auto; height: .75rem; }
/* Rodapé e menu mobile: perto do fim da tela, a lista abre para cima. */
.ect_lang--footer .dsh-lang__list,
.ect_lang--drawer .dsh-lang__list { top: auto; bottom: calc(100% + .4em); }
.ect_lang--footer .dsh-lang__list,
.ect_lang--drawer .dsh-lang__list { right: 0; left: auto; }
.ect_lang--drawer .dsh-lang__toggle { min-height: 2.5rem; background-color: #ffffff12; }

/* Lugares */
.ect_footer__end { display: flex; align-items: center; gap: var(--ect-gap-md); margin-left: auto; }
.ect_footer__end .ect_footer__social { margin-left: 0; }
.ect_drawer__meta { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--ect-gap-md); margin-top: 24px; padding-top: 24px; border-top: 1px solid #ffffff1f; }
.ect_drawer__lang { display: flex; flex-direction: column; align-items: flex-end; gap: var(--ect-gap-sm); }
@media (max-width: 1299px) {
	.ect_header__actions .ect_lang--header { display: none; } /* no mobile ele fica no menu aberto */
}
@media (max-width: 767px) {
	.ect_footer__end { margin-left: 0; }
}

/* Barra de progresso de leitura no fundo do header (só nos posts) --------- */
.ect_header__progress { position: absolute; right: 1.25rem; bottom: -1px; left: 1.25rem; height: 2px; overflow: hidden; border-radius: 2px; pointer-events: none; }
.ect_header__progress > span { display: block; width: 100%; height: 100%; background-color: var(--ect-orange); transform: scaleX(0); transform-origin: left center; will-change: transform; }
