/*
Theme Name: Kadence Child
Theme URI: https://www.lingogenomics.com/
Description: Child theme for Kadence.
Author: Lingogenomics
Author URI: https://www.lingogenomics.com/
Template: kadence
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

html, body {
	overflow-x: clip;
}

@font-face {
	font-family: 'Jo Sans';
	src: url('fonts/JoSans-Regular.otf') format('opentype'),
		url('fonts/JoSans-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

:root {
	--color-bg: #2f1b59;
	--color-pink: #d50e86;
	--color-purple-light: #512789;
	--color-purple-saturated: #3b0273;
	--color-blue-dark: #0f0140;
	--color-magenta-deep: #3d1258;
	--color-card-alt: #4a1a6b;
	--color-text: #f5f5f5;
}

body,
input,
select,
optgroup,
textarea {
	font-family: 'Atkinson Hyperlegible', sans-serif;
	font-size: 18px !important;
}

body {
	background-color: var(--color-bg);
	color: var(--color-text);
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Jo Sans', sans-serif;
	font-weight: 400 !important;
}

#custom-front-page h1,
#custom-front-page h2,
#custom-front-page h3,
#custom-front-page h4,
#custom-front-page h5,
#custom-front-page h6 {
	color: var(--color-text) !important;
}

a {
	color: var(--color-pink);
}

a:hover {
	color: var(--color-pink);
}

.site-header {
	background-color: var(--color-bg);
	color: var(--color-text);
}

.entry.loop-entry,
.entry.loop-entry.content-bg {
	background-color: var(--color-purple-light);
	color: var(--color-text);
}

.site-header-item-main-navigation .menu a {
	color: var(--color-text);
}

.site-header-item-main-navigation .menu a:hover {
	color: var(--color-pink);
}

/* Sticky nav */
#masthead {
	background-color: #27164c !important;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 999;
	transition: transform 0.3s ease;
}

#masthead.nav-hidden {
	transform: translateY(-100%);
}

@media (max-width: 768px) {
	#masthead .main-navigation,
	#masthead .site-header-item-main-navigation {
		display: none;
	}

	#masthead .main-navigation.toggled,
	#masthead .site-header-item-main-navigation.toggled {
		display: block;
	}
}

/* Scroll-triggered animations */
.animate-on-scroll {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.animate-on-scroll.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* WPForms styling to match brand */
.wpforms-container {
	background-color: var(--color-purple-light) !important;
	color: var(--color-text) !important;
	padding: 1.5rem !important;
	border-radius: 8px !important;
}

.wpforms-container label,
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-description {
	color: var(--color-text) !important;
}

.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=url],
.wpforms-container input[type=number],
.wpforms-container textarea,
.wpforms-container select,
.wpforms-container .wpforms-field input,
.wpforms-container .wpforms-field textarea {
	background-color: var(--color-purple-light) !important;
	color: var(--color-text) !important;
	border: 1px solid var(--color-blue-dark) !important;
	border-radius: 8px !important;
	font-family: 'Atkinson Hyperlegible', sans-serif !important;
	font-size: 18px !important;
}

.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel {
	color: var(--color-text) !important;
	text-align: left !important;
	display: block;
}

.wpforms-container .wpforms-field {
	text-align: left !important;
}

.wpforms-container button[type=submit],
.wpforms-container .wpforms-submit {
	background-color: var(--color-pink) !important;
	color: var(--color-text) !important;
	font-family: 'Jo Sans', sans-serif !important;
	font-size: 32px !important;
	height: auto !important;
	padding: 0.6rem 2.5rem !important;
	border-radius: 8px !important;
	border: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 1.5rem auto 0 !important;
	transition: background-color 0.3s ease !important;
}

.wpforms-container button[type=submit]:hover,
.wpforms-container .wpforms-submit:hover {
	background-color: var(--color-purple-light) !important;
}

#masthead .site-branding .site-title,
#masthead .site-branding .site-title a,
#masthead .kadence-sticky-header.item-is-fixed .site-branding .site-title,
#masthead .kadence-sticky-header.item-is-fixed .site-branding .site-title a {
	font-family: 'Jo Sans', sans-serif !important;
	color: var(--color-text) !important;
	font-weight: 400 !important;
}
#masthead,
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap),
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
	background-color: #27164c !important;
}

#masthead .main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
#masthead .main-navigation .primary-menu-container > ul > li.current_menu-item > a {
	color: var(--color-text) !important;
}

#masthead .primary-menu-container > ul > li > a,
#masthead .primary-menu-container > ul > li.menu-item > a,
#masthead .primary-menu-container > ul > li.current_menu-item > a,
#masthead .primary-menu-container > ul > li.current-menu-item > a,
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a,
#masthead .kadence-sticky-header.item-is-fixed .primary-menu-container > ul > li > a {
	color: var(--color-text) !important;
	font-family: 'Atkinson Hyperlegible', sans-serif !important;
	font-size: 1.05rem !important;
}

#masthead .primary-menu-container > ul > li > a,
#masthead .kadence-sticky-header.item-is-fixed .primary-menu-container > ul > li > a {
	transition: color 0.3s ease !important;
}
#masthead .primary-menu-container > ul > li > a:hover,
#masthead .primary-menu-container > ul > li > a:focus,
#masthead .kadence-sticky-header.item-is-fixed .primary-menu-container > ul > li > a:hover,
#masthead .kadence-sticky-header.item-is-fixed .primary-menu-container > ul > li > a:focus,
#masthead .kadence-sticky-header.item-is-fixed .primary-menu-container > ul > li.menu-item > a:hover,
#masthead .kadence-sticky-header.item-is-fixed .primary-menu-container > ul > li.current_menu-item > a:hover,
#masthead .kadence-sticky-header.item-is-fixed .primary-menu-container > ul > li.current-menu-item > a:hover {
	color: var(--color-pink) !important;
}

/* Social icons hover in #contato */
#contato .social-icons a i {
	transition: color 0.3s ease;
}
#contato .social-icons a:hover i {
	color: var(--color-pink) !important;
}

/* CTA buttons: purple hover on the background (site-wide, buttons only) */
.cta-button {
	transition: background-color 0.3s ease;
}
.cta-button:hover {
	background-color: var(--color-purple-light) !important;
	color: var(--color-text) !important;
}

/* Cards de metodologia e módulos: cores sólidas progressivas entre os cards.
   Quando uma cor da sequência coincidiria com o fundo da seção, ela é
   trocada por --color-card-alt para o card não ficar invisível. */

/* #metodologia, fundo var(--color-blue-dark) = #0f0140 — nenhuma coincidência */
.pilar-card:nth-child(1) {
	background: #512789 !important;
}
.pilar-card:nth-child(2) {
	background: #3d1258 !important;
}
.pilar-card:nth-child(3) {
	background: #3b0273 !important;
}

/* #como-funciona, fundo var(--color-magenta-deep) = #3d1258 — 2º card substituído */
.modulo-card:nth-child(1) {
	background: #512789 !important;
}
.modulo-card:nth-child(2) {
	background: var(--color-card-alt) !important;
}
.modulo-card:nth-child(3) {
	background: #3b0273 !important;
}
.modulo-card:nth-child(4) {
	background: #2f1b59 !important;
}

.ver-ementa {
	color: var(--color-text);
	display: inline-block;
	margin-top: 1rem;
	text-decoration: none;
	transition: color 0.3s ease;
}

.ver-ementa:hover {
	color: var(--color-pink);
}

/* Certificações em grid de cards com cores sólidas progressivas.
   #sobre, fundo var(--color-bg) = #2f1b59 — 4º card substituído */
.certificacoes-subtitulo {
	font-family: 'Jo Sans', sans-serif;
	text-align: center;
	font-size: 32px;
	color: var(--color-text);
	margin-top: 2rem;
}
.certificacoes-grid {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}
.certificacoes-grid-2col {
	grid-template-columns: repeat(2, 1fr);
}
.certificacoes-grid-3col {
	grid-template-columns: repeat(3, 1fr);
}
.certificacao-card {
	padding: 1.25rem;
	border-radius: 8px;
	color: var(--color-text);
	font-family: 'Atkinson Hyperlegible', sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 80px;
}
.certificacao-card:nth-child(4n+1) {
	background: #512789;
}
.certificacao-card:nth-child(4n+2) {
	background: #3d1258;
}
.certificacao-card:nth-child(4n+3) {
	background: #3b0273;
}
.certificacao-card:nth-child(4n+4) {
	background: var(--color-card-alt);
}

@media (max-width: 768px) {
	.certificacoes-grid-2col,
	.certificacoes-grid-3col {
		grid-template-columns: 1fr;
	}
}

/* FAQ com cores sólidas alternadas na mesma progressão.
   #duvidas, fundo var(--color-bg) = #2f1b59 — 4º item substituído */
#duvidas details:nth-child(4n+1) {
	background: #512789 !important;
}
#duvidas details:nth-child(4n+2) {
	background: #3d1258 !important;
}
#duvidas details:nth-child(4n+3) {
	background: #3b0273 !important;
}
#duvidas details:nth-child(4n+4) {
	background: var(--color-card-alt) !important;
}

/* Ementa modals */
.ementa-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 9998;
}
.ementa-overlay.is-active {
	display: block;
}

.ementa-modal {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: 700px;
	max-height: 80vh;
	overflow-y: auto;
	background-color: var(--color-bg);
	border: 2px solid var(--color-pink);
	border-radius: 12px;
	padding: 2rem;
	z-index: 9999;
	color: var(--color-text);
}
.ementa-modal.is-active {
	display: block;
}
.ementa-modal .ementa-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: none;
	border: none;
	color: var(--color-text);
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}
.ementa-modal h3 {
	color: var(--color-pink);
	margin-top: 0;
	padding-right: 2rem;
}

.certificacoes-subtitulo {
	font-size: clamp(22px, 6vw, 32px);
}

.wpforms-container .wpforms-submit {
	font-size: clamp(22px, 6vw, 32px) !important;
}

/* ==========================================================================
   Mobile layout (desktop styles above are untouched)
   ========================================================================== */
@media (max-width: 768px) {
	/* Stack 2-column and 3-column grids that were only defined inline */
	.mobile-stack-2,
	.mobile-stack-3 {
		grid-template-columns: 1fr !important;
	}

	/* Section padding: less horizontal/vertical waste on small screens */
	#custom-front-page section {
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}

	#inicio {
		min-height: auto !important;
		padding-top: 4rem !important;
	}

	/* Stats card inside #sobre: tighten padding, keep the 2-col number grid */
	.stats-card-grid {
		padding: 1.25rem !important;
		gap: 0.35rem !important;
	}

	/* Certification card copy can wrap comfortably at a smaller min-height */
	.certificacao-card {
		min-height: 60px !important;
		font-size: 0.95rem !important;
	}

	/* FAQ: reduce inner padding, keep readable */
	#duvidas details {
		padding: 0.85rem 1.1rem !important;
	}
	#duvidas summary {
		font-size: 18px !important;
	}

	/* Ementa modal: fit small screens without cramming */
	.ementa-modal {
		width: 92%;
		padding: 1.5rem;
	}

	/* WPForms submit button: desktop size (32px) is too large on phones */
	.wpforms-container .wpforms-submit {
		font-size: 22px !important;
		padding: 0.6rem 1.5rem !important;
	}
}

@media (max-width: 480px) {
	.stats-card-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 0.5rem !important;
	}
}
