/**
 * Compatibilidade Elementor ↔ landing Dr. Matheus Gonçalves (home.html).
 * Neutraliza largura/padding dos wrappers para o mesmo full-bleed do HTML estático.
 */

/* Canvas principal: igual ao fluxo body > secções do espelho estático */
body.page-drgama.dr-matheus-landing #main {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

body.page-drgama.dr-matheus-landing #main .elementor {
	width: 100%;
}

/* Elementor clássico (section/column/inner) */
body.page-drgama.dr-matheus-landing #main .elementor-section.elementor-section-boxed > .elementor-container,
body.page-drgama.dr-matheus-landing #main .elementor-top-section.elementor-section-boxed > .elementor-container {
	max-width: none !important;
	width: 100% !important;
}

/* Secções Elementor: sem padding extra — o espaçamento vem do CSS da landing (140px nas <section>). */
body.page-drgama.dr-matheus-landing #main .elementor-section.elementor-top-section {
	padding: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.page-drgama.dr-matheus-landing #main .elementor-section > .elementor-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.page-drgama.dr-matheus-landing #main .elementor-column > .elementor-element-populated,
body.page-drgama.dr-matheus-landing #main .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
	padding: 0 !important;
}

body.page-drgama.dr-matheus-landing #main .elementor-inner-section .elementor-column .elementor-element-populated {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Elementor 3+ (flex / loop / container) */
body.page-drgama.dr-matheus-landing #main .e-con.e-parent {
	max-width: none !important;
	width: 100% !important;
}

body.page-drgama.dr-matheus-landing #main .elementor-element.e-con.e-parent {
	padding-block: 0 !important;
	padding-inline: 0 !important;
}

body.page-drgama.dr-matheus-landing #main .e-con > .e-con-inner {
	max-width: none !important;
	width: 100% !important;
	box-sizing: border-box;
}

body.page-drgama.dr-matheus-landing #main .e-con-boxed > .e-con-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Widgets dmg_*: sem “chrome” extra */
body.page-drgama.dr-matheus-landing #main .elementor-widget[class*="elementor-widget-dmg_"] {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.page-drgama.dr-matheus-landing #main .elementor-widget[class*="elementor-widget-dmg_"] > .elementor-widget-container {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

/* Nav / footer: sem gap extra entre blocos */
body.page-drgama .elementor-widget.elementor-widget-dmg_nav,
body.page-drgama .elementor-widget.elementor-widget-dmg_footer {
	margin-block-end: 0 !important;
}

body.page-drgama .elementor-widget.elementor-widget-dmg_nav > .elementor-widget-container,
body.page-drgama .elementor-widget.elementor-widget-dmg_footer > .elementor-widget-container {
	margin-block-end: 0 !important;
}

body.page-drgama .elementor-widget.elementor-widget-dmg_nav + .elementor-widget,
body.page-drgama .e-con-inner > .elementor-element.elementor-widget-dmg_nav + .elementor-element {
	margin-block-start: 0 !important;
}

body.page-drgama .elementor-widget.elementor-widget-dmg_wa_float {
	margin-block-end: 0 !important;
}

/* Rodapé: ocupar 100% em linhas flex do Elementor; grelha .footer-main-block precisa de largura total */
body.page-drgama.dr-matheus-landing #main .elementor-widget.elementor-widget-dmg_footer {
	flex: 0 0 100% !important;
	align-self: stretch !important;
	max-width: 100% !important;
}

body.page-drgama.dr-matheus-landing #main section.footer {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

/*
 * WhatsApp fixo: antepassados com overflow/transform cortam position:fixed.
 * Usar :has (Safari 15.4+, Chrome 105+).
 */
body.page-drgama.dr-matheus-landing #main .elementor-widget.elementor-widget-dmg_wa_float,
body.page-drgama.dr-matheus-landing #main .elementor-widget.elementor-widget-dmg_wa_float .elementor-widget-container {
	overflow: visible !important;
}

@supports selector(:has(*)) {
	body.page-drgama.dr-matheus-landing #main .e-con:has(.elementor-widget-dmg_wa_float),
	body.page-drgama.dr-matheus-landing #main .elementor-element:has(.elementor-widget-dmg_wa_float),
	body.page-drgama.dr-matheus-landing #main .elementor-section:has(.elementor-widget-dmg_wa_float) {
		overflow: visible !important;
	}
}

/* FAQ marketing-insight — estado fechado/aberto + clique (drgama-marketing-faq.js) */
body.page-drgama .marketing-insight .insight-marketing-top.dmg-faq-trigger {
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
}

body.page-drgama .marketing-insight .insight-marketing-border-box .drop-down-icon {
	transition: transform 0.25s ease;
	transform: rotate(0deg);
}

body.page-drgama .marketing-insight .insight-marketing-border-box.dmg-faq--open .drop-down-icon {
	transform: rotate(-180deg);
}

/* Sem GSAP ou prefers-reduced-motion: max-height mantém fallback suave */
body.page-drgama .marketing-insight .insight-marketing-border-box:not(.dmg-faq--open) > .overflow-hidden.dmg-faq-panel {
	max-height: 0 !important;
	overflow: hidden !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	transition: max-height 0.35s ease;
}

body.page-drgama .marketing-insight .insight-marketing-border-box.dmg-faq--open > .overflow-hidden.dmg-faq-panel {
	max-height: 2000px;
	transition: max-height 0.35s ease;
}

/* GSAP controla height/overflow; evitar lutar com max-height transition */
body.page-drgama .marketing-insight[data-dmg-faq-gsap="1"] .insight-marketing-border-box > .overflow-hidden.dmg-faq-panel {
	max-height: none !important;
	transition: none !important;
}

body.page-drgama .marketing-insight[data-dmg-faq-gsap="1"] .drop-down-icon {
	transition: none !important;
}
/*
 * Header (Theme Builder Elementor): wrappers não podem ser scrollport (overflow hidden)
 * ou o position:sticky do .navbar deixa de “seguir” o scroll.
 */
body.page-drgama .elementor-location-header,
body.page-drgama .elementor-location-header.elementor,
body.page-drgama .elementor-location-header .elementor,
body.page-drgama .elementor-location-header .elementor-section,
body.page-drgama .elementor-location-header .elementor-container,
body.page-drgama .elementor-location-header .elementor-column,
body.page-drgama .elementor-location-header .elementor-widget-wrap,
body.page-drgama .elementor-location-header .elementor-widget-container,
body.page-drgama .elementor-location-header .e-con,
body.page-drgama .elementor-location-header .e-con-inner {
	overflow: visible !important;
}

/* Widget do header: o contentor Elementor não pode cortar position:sticky do .navbar */
body.page-drgama .elementor-location-header .elementor-widget.elementor-widget-dmg_nav,
body.page-drgama .elementor-location-header .elementor-widget.elementor-widget-dmg_nav .elementor-widget-container {
	overflow: visible !important;
}

body.page-drgama .elementor-location-header .navbar.w-nav {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1990;
}

body.admin-bar.page-drgama .elementor-location-header .navbar.w-nav {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar.page-drgama .elementor-location-header .navbar.w-nav {
		top: 46px;
	}
}

/* Blog — paginação da lista (widget dmg_blog_post_list) */
body.page-drgama .dmg-blog-pagination {
	margin-top: clamp(2rem, 4vw, 3rem);
	display: flex;
	justify-content: center;
	width: 100%;
}

body.page-drgama .dmg-blog-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-body, "DM Sans", system-ui, sans-serif);
}

body.page-drgama .dmg-blog-pagination a.page-numbers,
body.page-drgama .dmg-blog-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	padding: 0.4rem 0.65rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--ink-700, #4a5568);
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(26, 54, 93, 0.12);
}

body.page-drgama .dmg-blog-pagination a.page-numbers:hover,
body.page-drgama .dmg-blog-pagination a.page-numbers:focus-visible {
	border-color: var(--gold-500, #b8916a);
	color: var(--navy-900, #1e2a40);
}

body.page-drgama .dmg-blog-pagination span.page-numbers.current {
	background: var(--navy-900, #1e2a40);
	color: var(--sand-100, #f4f1eb);
	border-color: var(--navy-900, #1e2a40);
}

body.page-drgama .dmg-blog-pagination .prev.page-numbers,
body.page-drgama .dmg-blog-pagination .next.page-numbers {
	min-width: auto;
	padding-inline: 0.85rem;
}

/*
 * FAQ Contato — fallback sem GSAP: painel .active visível (substitui IX2 Webflow).
 */
#main .drgama-contact-faq .price-faq-block .accordian-text-wrapper:not(.active) {
	display: none !important;
}

#main .drgama-contact-faq .price-faq-block .accordian-text-wrapper.active {
	display: block !important;
}

/* GSAP controla height/overflow do acordeão */
#main .drgama-contact-faq[data-dmg-contact-faq-gsap="1"] .price-faq-block .accordian-text-wrapper {
	display: block !important;
}

#main .drgama-contact-faq[data-dmg-contact-faq-gsap="1"] .price-faq-block .line-two {
	transition: none !important;
}

/*
 * Contato — campos “Mensagem” etc.: o radius espelhado está em home-three-dr-gama-theme.css
 * sob body.drgama-contact-two-page; repetir se o body no iframe não tiver essa classe.
 */

/*
 * Contato — imagem com a mesma altura do bloco do formulário + cantos arredondados (cover).
 */
#main section.drgama-contact-form-section .contact-two-form-wrapper {
	align-items: stretch !important;
}

#main section.drgama-contact-form-section .contact-two-form-image {
	position: relative;
	align-self: stretch !important;
	border-radius: var(--radius-sm, 12px);
	overflow: hidden;
	flex: 1 1 0;
	min-width: 0;
	min-height: 100%;
}

#main section.drgama-contact-form-section .contact-two-form-image img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	border-radius: 0;
}

@media (max-width: 991px) {
	#main section.drgama-contact-form-section .contact-two-form-image {
		width: 100% !important;
		max-width: none !important;
		flex: none !important;
		min-height: min(52vh, 420px);
		aspect-ratio: 3 / 4;
	}

	#main section.drgama-contact-form-section .contact-two-form-image img {
		object-position: center top;
	}
}

#main section.drgama-contact-form-section .contact-form-field.w-input,
#main section.drgama-contact-form-section textarea.contact-form-field.contact-message-box-two.w-input {
	border-radius: var(--radius-sm, 12px) !important;
}

/* Formulário por shortcode (classes ≠ Webflow .w-input) */
#main section.drgama-contact-form-section.dmg-contact-form-shortcode input[type="text"],
#main section.drgama-contact-form-section.dmg-contact-form-shortcode input[type="email"],
#main section.drgama-contact-form-section.dmg-contact-form-shortcode input[type="tel"],
#main section.drgama-contact-form-section.dmg-contact-form-shortcode input[type="url"],
#main section.drgama-contact-form-section.dmg-contact-form-shortcode input[type="number"],
#main section.drgama-contact-form-section.dmg-contact-form-shortcode textarea,
#main section.drgama-contact-form-section.dmg-contact-form-shortcode select {
	border-radius: var(--radius-sm, 12px) !important;
}

/* Acordeões: foco de teclado claro (marketing + contato) */
body.page-drgama #main .marketing-insight .dmg-faq-trigger:focus-visible,
body.page-drgama #main .drgama-contact-faq .faq-toggle:focus-visible {
	outline: 2px solid var(--gold-500, #b8916a);
	outline-offset: 3px;
}

/*
 * Artigo — Hero: filtro editável + cores de texto (substitui overlay/cortinas fixos).
 */
body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero {
	position: relative;
	isolation: isolate;
}

body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero .drgama-single-hero__scrim {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgba(
			var(--dmg-sg-scrim-r, 36),
			var(--dmg-sg-scrim-g, 48),
			var(--dmg-sg-scrim-b, 71),
			calc(var(--dmg-sg-scrim-op, 0.65) * 0.15)
		)
			0%,
		rgba(
			var(--dmg-sg-scrim-r, 36),
			var(--dmg-sg-scrim-g, 48),
			var(--dmg-sg-scrim-b, 71),
			calc(var(--dmg-sg-scrim-op, 0.65) * 0.85)
		)
			100%
	);
}

body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero img.drgama-single-hero__bg {
	z-index: 0;
}

body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero .inner-page-hero-wrapper,
body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero .inner-page-lines-wrapper {
	position: relative;
	z-index: 4;
}

body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero .sub-heading.underline,
body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero .drgama-single-hero__kicker {
	color: var(--dmg-sg-color-kicker, var(--gold-500, #b8916a)) !important;
}

body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero h1.drgama-single-hero__title {
	color: var(--dmg-sg-color-title, #f7f5f2) !important;
}

body.page-drgama #main #hero-section.drgama-single-hero.drgama-inner-hero .drgama-single-hero__lead {
	color: var(--dmg-sg-color-lead, rgba(247, 245, 242, 0.95)) !important;
}
