/*
Theme Name: Tema-ADE
Theme URI: 
Description: Child theme do Kadence para personalizações do site ADE.
Author: ADE
Author URI: 
Template: kadence
Version: 1.0.0
Text Domain: tema-ade
*/

/*
 * Adicione abaixo as personalizações CSS do Tema-ADE.
 * Evite alterar diretamente os arquivos do tema Kadence.
 */

/* Identificação da sessão no menu, com acesso por teclado e toque. */
#masthead .ade-account-menu { position: relative; margin: 0; }
#masthead .ade-account-menu summary {
	display: flex; align-items: center; gap: 6px; min-height: 44px;
	padding: 0 8px; cursor: pointer; color: #ffe000;
	font-family: var(--global-body-font-family); font-size: 14px;
	font-weight: 400; line-height: 1.6; list-style: none;
}
#masthead .ade-account-menu summary::-webkit-details-marker,
#mobile-drawer .ade-account-menu summary::-webkit-details-marker { display: none; }
.ade-account-menu summary > span:first-child {
	max-width: 135px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#masthead .ade-account-menu__links {
	position: absolute; right: 0; top: 100%; z-index: 1000;
	width: 215px; padding: 4px 0; background: #161d19;
	border: 1px solid #b99c00; box-shadow: 0 8px 24px #0003;
}
#masthead .ade-account-menu__links a,
#mobile-drawer .ade-account-menu__links a {
	display: block; box-sizing: border-box; margin: 0;
	padding: 8px 16px; min-height: 36px;
	font-size: 14px; line-height: 1.4; color: #fff; text-decoration: none;
}
#masthead .ade-account-menu__links a:hover,
#masthead .ade-account-menu__links a:focus-visible { background: #30372f; color: #ffe000; }
.ade-account-menu summary:focus-visible { outline: 2px solid #d6b600; outline-offset: 3px; }
#mobile-drawer .ade-account-item { border-bottom: 1px solid #b99c00; }
#mobile-drawer .ade-account-menu { margin: 0; }
#mobile-drawer .ade-account-menu summary {
	display: flex; justify-content: space-between; align-items: center;
	padding: 14px 12px; min-height: 48px; list-style: none;
	cursor: pointer; color: #ffe000; font-weight: 700;
}
#mobile-drawer .ade-account-menu__links a { color: #fff; padding-left: 24px; min-height: 44px; }

/* Títulos principais: referência Quem somos; não abrange artigos nem aulas.
 * O seletor do wrapper prevalece sobre os estilos individuais do Elementor.
 */
body:not(.home) #wrapper :is(
	body.page h1.entry-title,
	h1.ade-about__title,
	h1.ade-page-title,
	h1.ade-contact__title,
	h1.ade-juan__title,
	h1.ade-donation__title,
	h1.ade-order-confirmation-title,
	h1.ade-tutor-page-title,
	.ade-page-title > h1,
	.ade-contact__title > h1,
	.ade-donation__title > h1,
	.ade-juan > .elementor-widget-heading > h1,
	.ade-iphade-elementor > .elementor-widget-heading > h1,
	.ade-ardalk-elementor > .elementor-widget-heading > h1,
	.ade-events-page-heading > h1,
	.ade-shop-page-heading > h1,
	.courses-archive-title > h1,
	.kt-adv-heading717_ca366e-29,
	#ade-preparation-title,
	.elementor-element-50e865d > h1
) {
	font-family: var(--global-body-font-family) !important;
	font-size: 36px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	overflow-wrap: break-word;
	margin-top: 0 !important;
	margin-bottom: 32px !important;
}
body:not(.home) #wrapper :is(
	body.page h1.entry-title,
	h1.ade-about__title,
	h1.ade-page-title,
	h1.ade-contact__title,
	h1.ade-juan__title,
	h1.ade-donation__title,
	h1.ade-order-confirmation-title,
	h1.ade-tutor-page-title,
	.ade-page-title > h1,
	.ade-contact__title > h1,
	.ade-donation__title > h1,
	.ade-juan > .elementor-widget-heading > h1,
	.ade-iphade-elementor > .elementor-widget-heading > h1,
	.ade-ardalk-elementor > .elementor-widget-heading > h1,
	.ade-events-page-heading > h1,
	.ade-shop-page-heading > h1,
	.courses-archive-title > h1,
	.kt-adv-heading717_ca366e-29,
	#ade-preparation-title,
	.elementor-element-50e865d > h1
)::after {
	content: "" !important;
	display: block !important;
	position: static !important;
	width: 46px !important;
	height: 3px !important;
	margin: 10px auto 0 !important;
	background: #d6b600 !important;
	border: 0 !important;
	transform: none !important;
}
/* O traço passa para o próprio título, sem duplicar o do widget. */
body #wrapper .ade-page-title.elementor-widget-heading::after {
	content: none !important;
	display: none !important;
}
@media (max-width: 1024px) {
	body:not(.home) #wrapper :is(
		body.page h1.entry-title,
		h1.ade-about__title, h1.ade-page-title, h1.ade-contact__title,
		h1.ade-juan__title, h1.ade-donation__title,
		h1.ade-order-confirmation-title, h1.ade-tutor-page-title,
		.ade-page-title > h1, .ade-contact__title > h1, .ade-donation__title > h1,
		.ade-juan > .elementor-widget-heading > h1,
		.ade-iphade-elementor > .elementor-widget-heading > h1,
		.ade-ardalk-elementor > .elementor-widget-heading > h1,
		.ade-events-page-heading > h1, .ade-shop-page-heading > h1,
		.courses-archive-title > h1, .kt-adv-heading717_ca366e-29,
		#ade-preparation-title, .elementor-element-50e865d > h1
	) {
		font-size: 20.8px !important;
		line-height: 1.35 !important;
	}
}

/* Espaçamento de Arquivo ADE: 18,72px acima e 32px após o traço.
 * Zera somente as camadas que envolvem os títulos, preservando as seções.
 */
body:is(.ade-editorial-page, .ade-donation-page) #wrapper .content-area > .content-container {
	padding-top: 0 !important;
}
body:is(.ade-editorial-page, .ade-donation-page, .ade-contact-page, .ade-juan-page, .page-id-2187) #wrapper .content-area {
	padding-top: 18.72px !important;
}
body.page-id-2187 #wrapper .elementor-element-4a56da31 {
	padding-top: 0 !important;
}
body #wrapper :is(.ade-page-title, .ade-contact__title, .ade-donation__title,
	.ade-juan > .elementor-widget-heading,
	.ade-iphade-elementor > .elementor-widget-heading,
	.ade-ardalk-elementor > .elementor-widget-heading,
	.elementor-element-50e865d).elementor-widget-heading {
	margin-top: 0 !important;
	margin-bottom: calc(32px - var(--row-gap, 0px)) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
body #wrapper :is(.ade-page-title, .ade-contact__title, .ade-donation__title,
	.ade-juan > .elementor-widget-heading,
	.ade-iphade-elementor > .elementor-widget-heading,
	.ade-ardalk-elementor > .elementor-widget-heading,
	.elementor-element-50e865d).elementor-widget-heading > h1 {
	margin-bottom: 0 !important;
}
body.woocommerce-account #wrapper .entry-header {
	margin-bottom: 0 !important;
	min-height: 0 !important;
}
body.post-type-archive-courses #wrapper .courses-archive-title {
	min-height: 0 !important;
	padding-top: 18.72px !important;
	padding-bottom: 0 !important;
}

/* Botões de encerramento da página Juan: dimensões e alinhamento uniformes. */
.page-id-1803 .ade-juan__closing .ade-juan__closing-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-auto-rows: 1fr;
	gap: 12px;
}
.page-id-1803 .ade-juan__closing-actions > .elementor-widget-button {
	width: 100%;
	max-width: 100%;
	height: 100%;
}
.page-id-1803 .ade-juan__closing-actions .elementor-button {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-height: 50px;
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.3;
	text-align: center;
}

/* Completa a borda do registro do Panamá sem alterar o conteúdo do Elementor. */
.page-id-1803 .ade-juan__historical-grid > .elementor-element-b98c4f3 {
	border-bottom: 3px solid #d4af00;
}

/* Fundo de espera da imagem do cabeçalho, em desktop, tablet e celular. */
#masthead .site-main-header-wrap .site-header-row-container-inner {
	background-color: #000;
}

/*
 * Arquivo ADE - colunas fluidas e filtros responsivos.
 *
 * O plugin VS Knowledge Base organiza as categorias em linhas com floats.
 * Como cada linha assume a altura da categoria mais longa, surgem grandes
 * vazios nas demais colunas. O layout multicoluna abaixo mantém cada
 * categoria inteira e distribui automaticamente o conteúdo disponível.
 */
.page-id-717 #vskb.vskb-four {
	column-count: 4;
	column-gap: 2rem;
	column-fill: balance;
}

.page-id-717 #vskb.vskb-four > .vskb-cat-list {
	display: inline-block;
	width: 100% !important;
	margin: 0 0 1.5rem !important;
	float: none !important;
	clear: none !important;
	vertical-align: top;
	break-inside: avoid;
	page-break-inside: avoid;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-717 #vskb.vskb-four {
		column-count: 2;
		column-gap: 1.5rem;
	}

	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color {
		display: grid !important;
		grid-template-columns: minmax(0, 1.65fr) minmax(8.5rem, .65fr) minmax(12rem, 1fr) !important;
		gap: .75rem !important;
		width: 100% !important;
		box-sizing: border-box;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color > .wp-block-column,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color .kb-search,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color .kb-search-form,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color .wp-block-archives,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color .wp-block-categories,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color input,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color select {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}
}

@media (max-width: 767px) {
	.page-id-717 .kt-adv-heading717_ca366e-29 {
		margin-bottom: 1.1rem !important;
		font-size: 1.1rem !important;
		line-height: 1.35 !important;
	}

	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: .65rem !important;
		width: 100% !important;
		box-sizing: border-box;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding: .75rem !important;
		border: 1px solid #dfe4e8;
		border-top: 3px solid #d4af00;
		background: #f6f7f8 !important;
	}

	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color > .wp-block-column,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color .kb-search,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color .kb-search-form,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color .wp-block-archives,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color .wp-block-categories {
		width: 100% !important;
		max-width: none !important;
		padding: 0 !important;
		background: transparent !important;
		float: none !important;
	}

	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color input,
	.page-id-717 .wp-block-columns.has-theme-palette-15-background-color select {
		width: 100% !important;
		min-height: 42px;
		border: 1px solid #cbd2d9;
		border-radius: 0 !important;
		background-color: #fff;
		font-size: 1rem !important;
		line-height: 1.35;
	}

	.page-id-717 #vskb.vskb-four {
		column-count: 1;
		column-gap: 0;
		font-size: 1rem !important;
		line-height: 1.55 !important;
	}

	.page-id-717 #vskb.vskb-four > .vskb-cat-list {
		display: block;
		width: 100% !important;
		margin: 0 0 1.25rem !important;
		float: none !important;
	}

	.page-id-717 #vskb .vskb-cat-name {
		margin-bottom: .65rem !important;
		padding-bottom: .45rem !important;
		font-size: 1.18rem !important;
		line-height: 1.3 !important;
	}

	.page-id-717 #vskb .vskb-post-list {
		width: 100% !important;
		font-size: 1rem !important;
		line-height: 1.55 !important;
	}

	.page-id-717 #vskb .vskb-post-list li {
		margin-bottom: .45rem;
	}

	.page-id-717 .kb-posts .entry-content,
	.page-id-717 .kb-posts .entry-summary {
		font-size: 1rem !important;
		line-height: 1.6 !important;
	}
}
