/* ==========================================================================
   Phone and tablet layer. Loaded only below the breakpoint set in
   Personalizar site › Menu. Every header layout becomes a top bar with a
   menu button; the menu opens full screen or as a side drawer.
   ========================================================================== */

.egt-hide-mobile {
	display: none !important;
}

/* Top bar ----------------------------------------------------------------- */

.egt-header {
	position: relative;
	display: block;
}

.egt-sticky .egt-header {
	position: sticky;
	top: 0;
}

.egt-header__bar {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: var(--header-h);
	padding: 0 var(--gutter);
	transition: min-height .4s var(--ease), background-color .4s, color .4s;
}

.egt-header__brand {
	min-width: 0;
}

.egt-logo__role {
	letter-spacing: .14em;
	font-size: 10px;
	margin-top: 4px;
}

.egt-header__tools {
	display: flex;
	align-items: center;
	gap: 4px;
	flex: none;
}

.egt-peek-desktop-only .egt-peek-btn {
	display: none;
}

.egt-peek-btn__label {
	display: none;
}

.egt-peek-btn {
	width: 44px;
	justify-content: center;
}

.egt-header.is-scrolled .egt-header__bar {
	box-shadow: 0 1px 0 color-mix(in srgb, var(--c-header-text) 12%, transparent);
}

/* Transparent bar over a banner */
.egt-transparent.egt-over-hero .egt-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}

.egt-transparent.egt-over-hero:not(.egt-sticky) .egt-header {
	position: absolute;
}

.egt-header .egt-header__bar {
	background: var(--c-header-bg);
}

.egt-transparent.egt-over-hero .egt-header:not(.is-scrolled) .egt-header__bar {
	background: transparent;
	color: #fff;
}

.egt-menu-open .egt-header .egt-header__bar {
	background: transparent !important;
	color: var(--c-header-text) !important;
	box-shadow: none !important;
}

body:not(.egt-transparent) .egt-banner__inner,
body:not(.egt-over-hero) .egt-pagebanner__inner {
	padding-top: 48px;
}

body:not(.egt-transparent) .egt-pagebanner--texto .egt-pagebanner__inner {
	padding-top: 56px;
}

body:not(.egt-transparent) .egt-banner {
	min-height: calc(var(--bhm, 80vh) - var(--header-h));
}

/* Menu panel --------------------------------------------------------------- */

.egt-header__panel {
	position: fixed;
	inset: 0;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 36px;
	padding: calc(var(--header-h) + 24px) var(--gutter) calc(32px + env(safe-area-inset-bottom));
	background: var(--c-header-bg);
	color: var(--c-header-text);
	overflow-y: auto;
	overscroll-behavior: contain;
	visibility: hidden;
}

.egt-mmenu-tela-cheia .egt-header__panel {
	opacity: 0;
	transition: opacity .45s var(--ease), visibility 0s .45s;
}

.egt-mmenu-gaveta .egt-header__panel {
	left: auto;
	width: min(400px, 88vw);
	transform: translateX(100%);
	box-shadow: -24px 0 48px -24px rgba(0, 0, 0, .5);
	transition: transform .55s var(--ease-out), visibility 0s .55s;
}

.egt-mmenu-gaveta .egt-header__bar {
	z-index: 3;
}

.egt-menu-open .egt-header__panel {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition-delay: 0s;
}

.egt-mmenu-gaveta.egt-menu-open .egt-header::before {
	content: "";
	position: fixed;
	inset: 0;
	background: rgba(8, 10, 6, .5);
}

body.egt-menu-open {
	overflow: hidden;
}

.egt-menu {
	display: grid;
	gap: 0;
}

.egt-menu > li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid color-mix(in srgb, var(--c-header-text) 14%, transparent);
}

.egt-menu > li > a {
	flex: 1;
	display: block;
	padding: 14px 0;
	font-family: var(--f-heading);
	font-size: clamp(22px, 6vw, 30px);
	font-weight: var(--heading-weight);
	text-transform: var(--heading-case);
	letter-spacing: var(--heading-track);
	line-height: 1.2;
}

.egt-menu .current-menu-item > a,
.egt-menu .current_page_item > a {
	background: none;
	font-style: italic;
}

.egt-sub-toggle {
	width: 44px;
	height: 44px;
}

.egt-menu .sub-menu {
	flex-basis: 100%;
	padding: 0 0 14px 12px;
}

.egt-menu .sub-menu[hidden] {
	display: none;
}

.egt-menu .sub-menu li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.egt-menu .sub-menu a {
	flex: 1;
	display: block;
	padding: 9px 0;
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
	opacity: .85;
}

.egt-menu-centro.egt-mmenu-tela-cheia .egt-menu > li {
	justify-content: center;
	text-align: center;
}

.egt-menu-centro.egt-mmenu-tela-cheia .egt-menu > li > a {
	flex: none;
}

.egt-menu-centro.egt-mmenu-tela-cheia .egt-header__extra {
	justify-items: center;
	text-align: center;
}

.egt-menu-centro.egt-mmenu-tela-cheia .egt-header__social {
	justify-content: center;
}

/* Items enter one after another when the menu opens */
@media (prefers-reduced-motion: no-preference) {
	.egt-anim .egt-menu > li {
		opacity: 0;
		transform: translateY(14px);
		transition: opacity .5s var(--ease), transform .6s var(--ease-out);
	}

	.egt-anim body.egt-menu-open .egt-menu > li {
		opacity: 1;
		transform: none;
		transition-delay: calc(.08s + var(--i, 0) * .05s);
	}
}

.egt-header__extra {
	display: grid;
	gap: 22px;
	margin-top: auto;
}

.egt-header__extra .egt-btn {
	width: 100%;
}

.egt-header__extra .egt-search {
	max-width: none;
}

/* Peek panel and site push -------------------------------------------------- */

body.egt-peek-open .egt-site {
	transform: none;
}

.egt-peek__inner {
	padding: 64px 28px calc(40px + env(safe-area-inset-bottom));
}

/* Components ---------------------------------------------------------------- */

.egt-banner {
	min-height: var(--bhm, 80vh);
}

.egt-banner__media img,
.egt-banner__media picture img {
	object-position: var(--fxm, var(--fx)) var(--fym, var(--fy));
}

.egt-banner__inner {
	padding-bottom: 88px;
}

.egt-banner__actions .egt-btn {
	flex: 1 1 auto;
}

.egt-slider__controls {
	left: var(--gutter);
	right: var(--gutter);
	justify-content: flex-end;
	gap: 6px;
	bottom: 20px;
}

.egt-slider__pause {
	margin-right: auto;
}

.egt-slider__dots {
	display: none;
}

.egt-carousel__item {
	width: 78vw;
}

.egt-carousel--w-largo .egt-carousel__item {
	width: 88vw;
}

.egt-carousel--w-estreito .egt-carousel__item {
	width: 64vw;
}

.egt-carousel__media,
.egt-carousel--h-tela .egt-carousel__media {
	height: min(110vw, 70vh);
}

.egt-carousel--h-media .egt-carousel__media {
	height: min(80vw, 52vh);
}

.egt-carousel--cap-hover .egt-carousel__caption {
	position: absolute;
}

.egt-carousel__viewport {
	padding-inline: var(--gutter);
	scroll-padding-inline: var(--gutter);
}

.egt-carousel__track::after {
	content: "";
	flex: none;
	width: 1px;
}

.egt-gallery--grade {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.egt-gallery--alvenaria {
	columns: 2;
}

.egt-profile,
.egt-mt {
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
}

.egt-profile__media img,
.egt-mt__media img {
	max-height: 75vh;
}

.egt-mt--bleed {
	padding-inline: 0;
}

.egt-mt--bleed .egt-mt__media,
.egt-mt--bleed .egt-mt__media img {
	border-radius: 0;
}

.egt-mt--bleed .egt-mt__body {
	padding-inline: var(--gutter);
}

.egt-cards {
	grid-template-columns: minmax(0, 1fr);
}

.egt-cards--foto .egt-card {
	min-height: 340px;
}

.egt-spec--fotos {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 14px;
}

.egt-spec--fotos .egt-spec__title {
	font-size: var(--h4);
}

.egt-spec--fotos .egt-spec__text {
	display: none;
}

.egt-spec--editorial .egt-spec__link {
	grid-template-columns: 40px minmax(0, 1fr);
	padding: 22px 0;
}

.egt-steps--vertical .egt-step {
	grid-template-columns: minmax(0, 1fr);
	padding-left: 20px;
}

.egt-steps--vertical .egt-step__num {
	grid-row: auto;
	margin-bottom: 10px;
}

.egt-faq__answer {
	padding-right: 0;
}

.egt-form__grid {
	grid-template-columns: minmax(0, 1fr);
}

.egt-form .egt-btn {
	width: 100%;
}

.egt-posts {
	grid-template-columns: minmax(0, 1fr);
}

.egt-posts--alvenaria {
	columns: 1;
}

.egt-posts--lista .egt-post {
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

@media (min-width: 640px) {
	.egt-posts:not(.egt-posts--lista):not(.egt-posts--alvenaria) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.egt-posts--alvenaria {
		columns: 2;
	}

	.egt-cards:not(.egt-cards--linha) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.egt-spec--fotos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.egt-steps--horizontal {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.egt-footer__cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.egt-map__frame {
	height: auto;
	min-height: 0;
}

.egt-map__frame iframe,
.egt-map__consent {
	position: relative;
	inset: auto;
	height: min(var(--h), 70vh);
}

.egt-map__card {
	position: relative;
	left: auto;
	bottom: auto;
	max-width: none;
	box-shadow: none;
	background: var(--c-surface);
}

.egt-testi__item blockquote {
	font-size: calc(var(--h3) * .9);
}

.egt-cta__inner .egt-actions {
	width: 100%;
}

.egt-cta__inner .egt-actions .egt-btn {
	flex: 1 1 auto;
}

.egt-prefooter .egt-actions .egt-btn {
	flex: 1 1 auto;
}

.egt-footer__bottom {
	flex-direction: column;
	align-items: flex-start;
}

.egt-footer-centralizado .egt-footer__bottom {
	align-items: center;
}

.egt-lightbox {
	padding: 56px 12px;
}

.egt-lightbox__prev,
.egt-lightbox__next {
	top: auto !important;
	bottom: 8px;
	transform: none !important;
}

.egt-author {
	grid-template-columns: minmax(0, 1fr);
}

/* Bottom bar with booking, WhatsApp and phone */
.egt-has-bottombar .egt-bottombar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 95;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	padding-bottom: env(safe-area-inset-bottom);
	background: var(--c-header-bg);
	color: var(--c-header-text);
	box-shadow: 0 -1px 0 color-mix(in srgb, var(--c-header-text) 14%, transparent);
}

.egt-bottombar a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 10px 6px 8px;
	color: inherit;
	text-decoration: none;
	font-family: var(--f-menu);
	font-size: 11px;
	text-transform: var(--menu-case);
	letter-spacing: .08em;
}

.egt-bottombar a:first-child {
	background: var(--c-primary);
	color: #fff;
}

.egt-has-bottombar .egt-footer {
	padding-bottom: calc(64px + env(safe-area-inset-bottom));
}

.egt-has-bottombar.egt-menu-open .egt-bottombar,
.egt-has-bottombar.egt-peek-open .egt-bottombar {
	display: none;
}

/* Floating WhatsApp only when there is no bottom bar */
body:not(.egt-has-bottombar) .egt-float-wa {
	position: fixed;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom));
	z-index: 90;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: var(--c-primary);
	color: #fff;
	box-shadow: 0 12px 28px -12px rgba(0, 0, 0, .55);
}

.egt-header-lateral .egt-header__bio {
	display: none;
}
