/*
Theme Name:     SLDDN GeneratePress
Theme URI:      https://slddn.com
Description:    Shared child theme for the SiteLynx Digital Discovery Network (SLDDN.com, AnswerEngine.Marketing, AgentEngine.Marketing). Section styling uses reusable .slddn-* variant classes; per-site accents are injected from functions.php.
Author:         SiteLynx Digital Discovery Network
Author URI:     https://slddn.com
Template:       generatepress
Version:        0.2.1
*/

:root {
	--global-palette1: #2499ef !important;
	--global-palette2: #ef7a24 !important;
	--global-palette3: #000000 !important;
	--global-palette4: #020202 !important;
	--global-palette5: #6b6b6b !important;
	--global-palette6: #7c7c7c !important;
	--global-palette7: #000000 !important;
	--global-palette8: #f9f7f5 !important;
	--global-palette9: #ffffff !important;
	--global-palette10: #ffffff !important;
	--global-palette11: #13612e !important;
	--global-palette12: #1159af !important;
	--global-palette13: #b82105 !important;
	--global-palette14: #f7630c !important;
	--global-palette15: #f5a524 !important;
	--global-palette-highlight: var(--global-palette2) !important;
	--global-palette-highlight-alt: var(--global-palette5) !important;
	--global-palette-highlight-alt2: var(--global-palette9) !important;
	--global-palette-btn-bg: var(--global-palette1) !important;
	--global-palette-btn-bg-hover: var(--global-palette2) !important;
	--global-palette-btn: var(--global-palette9) !important;
	--global-palette-btn-hover: var(--global-palette9) !important;
	--global-body-font-family: Urbanist, sans-serif !important;
	--global-heading-font-family: Manrope, sans-serif !important;
	--global-primary-nav-font-family: Manrope, sans-serif !important;
	--global-content-width: 1290px !important;
	--global-content-edge-padding: 1.5rem !important;
	--global-kb-font-size-sm: clamp(0.8rem, 0.73rem + 0.217vw, 0.9rem) !important;
	--global-kb-font-size-md: clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem) !important;
	--global-kb-font-size-lg: clamp(1.75rem, 1.576rem + 0.543vw, 2rem) !important;
	--global-kb-font-size-xl: clamp(2.25rem, 1.728rem + 1.63vw, 3rem) !important;
	--global-kb-font-size-xxl: clamp(2.5rem, 1.456rem + 3.26vw, 4rem) !important;
	--global-kb-spacing-xxs: 0.5rem !important;
	--global-kb-spacing-xs: 1rem !important;
	--global-kb-spacing-sm: 1.5rem !important;
	--global-kb-spacing-md: 2rem !important;
	--global-kb-spacing-lg: 3rem !important;
	--global-kb-spacing-xl: 4rem !important;
	--global-kb-spacing-xxl: 5rem !important;
	--global-kb-spacing-3xl: 6.5rem !important;
	--global-kb-spacing-5xl: 10rem !important;
	--contrast: var(--global-palette4) !important;
	--contrast-2: var(--global-palette5) !important;
	--contrast-3: var(--global-palette6) !important;
	--base: var(--global-palette8) !important;
	--base-2: var(--global-palette9) !important;
	--base-3: var(--global-palette9) !important;
	--accent: var(--global-palette1) !important;
}

body {
	background: var(--global-palette8);
	color: var(--global-palette4);
	font-family: var(--global-body-font-family);
	font-size: 17px;
	line-height: 1.6;
	overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
.main-title {
	color: var(--global-palette3);
	font-family: var(--global-heading-font-family);
	letter-spacing: 0;
}

h1 {
	font-size: clamp(40px, 6vw, 80px);
	font-weight: 600;
	line-height: 1.1;
}

h2 {
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 600;
	line-height: 1.2;
}

h3 {
	font-size: clamp(22px, 3vw, 31px);
	font-weight: 500;
	line-height: 1.35;
}

h4 {
	font-size: clamp(18px, 2vw, 22px);
	font-weight: 500;
	line-height: 1.4;
}

.site-header {
	background: var(--global-palette3);
	background-color: var(--global-palette3) !important;
	color: var(--global-palette9);
}

.site-header .inside-header {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: center;
	max-width: var(--global-content-width);
	min-height: 92px;
	padding: 0 var(--global-content-edge-padding);
	position: relative;
}

.site-branding-container {
	align-items: center;
	display: flex;
	left: var(--global-content-edge-padding);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

/* Show the text site title until a logo is uploaded; hide it once one exists. */
.site-branding .main-title,
.site-branding .main-title a {
	color: var(--global-palette9);
	font-family: var(--global-heading-font-family);
	font-size: 24px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.site-branding-container:has(.site-logo) .site-branding {
	display: none;
}

.site-logo img {
	display: block;
	height: 82px;
	width: auto;
}

.main-navigation,
.main-navigation ul ul {
	background: transparent;
	background-color: transparent !important;
}

#site-navigation {
	width: 100%;
}

.main-navigation .inside-navigation {
	justify-content: center;
	min-height: 92px;
	position: relative;
	width: 100%;
}

.main-navigation .main-nav {
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
}

.main-navigation .main-nav ul li a {
	color: var(--global-palette9);
	color: var(--global-palette9) !important;
	font-family: var(--global-primary-nav-font-family);
	font-size: 18px;
	font-weight: 400;
	line-height: 80px;
	padding-left: 0.6em;
	padding-right: 0.6em;
}

.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.sfHover > a {
	color: var(--global-palette2);
	color: var(--global-palette2) !important;
}

.main-navigation .main-nav ul li.current-menu-item > a {
	color: var(--global-palette9) !important;
	position: relative;
}

.main-navigation .main-nav ul li.current-menu-item > a::after {
	background: var(--global-palette9);
	bottom: 18px;
	content: "";
	height: 2px;
	left: 0.6em;
	position: absolute;
	right: 0.6em;
}

.main-navigation .main-nav ul ul {
	background: var(--global-palette3);
	background-color: var(--global-palette3) !important;
	border: 1px solid rgba(255, 255, 255, 0.14);
}

.main-navigation .main-nav ul ul li a {
	color: var(--global-palette9);
	color: var(--global-palette9) !important;
	font-size: 15px;
	line-height: 1.3;
	padding-bottom: 12px;
	padding-top: 12px;
}

.menu-bar-items {
	align-items: center;
	display: flex;
	margin-left: 28px;
}

.slx-header-cta {
	background: var(--global-palette1);
	background-color: var(--global-palette1) !important;
	border-radius: 10px;
	color: var(--global-palette9);
	color: var(--global-palette9) !important;
	display: inline-flex;
	font-family: var(--global-heading-font-family);
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	padding: 13px 26px;
	text-decoration: none;
	white-space: nowrap;
}

.inside-navigation > .slx-header-cta {
	margin-left: 0;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.slx-header-cta:hover,
.slx-header-cta:focus {
	background: var(--global-palette2);
	background-color: var(--global-palette2) !important;
	color: var(--global-palette9);
	color: var(--global-palette9) !important;
}

/* Page Layout reset for Pagebuilder templates */
.home .site.grid-container,
.home .site-content,
.home .content-area,
.home .site-main,
.home .inside-article,
.full-width-content .site.grid-container,
.full-width-content .site-content,
.full-width-content .content-area,
.full-width-content .site-main,
.full-width-content .inside-article {
	margin: 0;
	max-width: none;
	padding: 0;
	width: 100%;
}

.home .site.grid-container,
.full-width-content .site.grid-container {
	background: var(--global-palette9);
}

.home .site-content,
.full-width-content .site-content {
	padding-top: 0;
}

.home .entry-header,
.full-width-content .entry-header {
	display: none;
}

.home .entry-content,
.page-template-default .entry-content {
	margin-top: 0;
}

/* Gutenberg Layout blocks styles */
.gb-element {
	box-sizing: border-box;
	padding: 80px 24px;
	width: 100%;
}

.gb-element .wp-block-group {
	margin-left: auto;
	margin-right: auto;
}

.gb-element .wp-block-button__link {
	background: var(--global-palette1) !important;
	border-radius: 10px;
	color: var(--global-palette9) !important;
	font-family: var(--global-heading-font-family);
	font-size: 18px;
	font-weight: 500;
	padding: 14px 28px;
	transition: background-color 0.2s ease-in-out;
}

.gb-element .wp-block-button__link:hover,
.gb-element .wp-block-button__link:focus {
	background: var(--global-palette2) !important;
	color: var(--global-palette9) !important;
}

/* Hero styling */
.slddn-hero,
.slddn-subhero,
.gb-element-slddnHero,
.gb-element-slddnSubHero {
	background:
		linear-gradient(rgba(0, 0, 0, 0.76), rgba(80, 34, 8, 0.86)),
		radial-gradient(circle at center, rgba(239, 122, 36, 0.2) 0%, transparent 80%),
		var(--global-palette3);
	color: var(--global-palette9);
	text-align: center;
	padding-top: 100px;
	padding-bottom: 110px;
}

.slddn-subhero h1,
.gb-element-slddnSubHero h1 {
	color: var(--global-palette9);
}

.slddn-subhero p,
.gb-element-slddnSubHero p {
	color: var(--global-palette9);
	font-size: 19px;
	margin-left: auto;
	margin-right: auto;
	max-width: 760px;
}

.slddn-hero h1,
.gb-element-slddnHero h1 {
	color: var(--global-palette9);
	font-size: clamp(38px, 6.5vw, 80px);
	font-weight: 700;
	line-height: 1.1;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
}

.slddn-hero h1 span,
.gb-element-slddnHero h1 span {
	color: var(--global-palette2);
}

.slddn-hero p:first-child,
.gb-element-slddnHero p:first-child {
	color: var(--global-palette2);
	font-family: var(--global-heading-font-family);
	font-size: 14px;
	letter-spacing: 0.1em;
	margin-bottom: 24px;
	text-transform: uppercase;
	font-weight: 700;
}

.slddn-hero p:not(:first-child),
.gb-element-slddnHero p:not(:first-child) {
	color: var(--global-palette9);
	font-size: 20px;
	margin-left: auto;
	margin-right: auto;
	max-width: 760px;
	margin-top: 24px;
	margin-bottom: 40px;
}

/* Reusable sections default background colors */
.slddn-proof,
.gb-element-slddnProofStrip {
	background: var(--global-palette8);
}

.slddn-grid,
.slddn-panels,
.slddn-faq,
.slddn-form,
.gb-element-slddnNetworkGrid,
.gb-element-slddnFrameworksSpotlight,
.gb-element-slddnFaq,
.gb-element-slddnContactForm {
	background: var(--global-palette9);
}

/* Highlight boxes/cards styling (scoped to rebuilt sections only) */
.gb-element .wp-block-column {
	padding: 24px;
	border-radius: 12px;
	background: var(--global-palette9);
	border: 1px solid rgba(0,0,0,0.08);
	box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.slddn-proof .wp-block-column,
.gb-element-slddnProofStrip .wp-block-column {
	background: transparent;
	border: none;
	box-shadow: none;
	text-align: center;
}

.slddn-proof .wp-block-column h3,
.gb-element-slddnProofStrip .wp-block-column h3 {
	font-size: clamp(32px, 5vw, 48px);
	color: var(--global-palette2);
	margin-bottom: 8px;
}

.slddn-grid .wp-block-column,
.gb-element-slddnNetworkGrid .wp-block-column {
	transition: all 0.3s ease;
	border: 1px solid rgba(0,0,0,0.1);
}

.slddn-grid .wp-block-column:hover,
.gb-element-slddnNetworkGrid .wp-block-column:hover {
	transform: translateY(-4px);
	border-color: var(--global-palette2);
	box-shadow: 0 12px 24px rgba(0,0,0,0.08);
}

.slddn-grid .wp-block-column h3,
.gb-element-slddnNetworkGrid .wp-block-column h3 {
	border-bottom: 2px solid var(--global-palette2);
	padding-bottom: 12px;
	margin-bottom: 16px;
}

/* CTA Band custom styling */
.slddn-cta,
.gb-element-slddnCtaBand {
	background: #182d20;
	color: var(--global-palette9);
	text-align: center;
	padding: 80px 24px;
}

.slddn-cta h2,
.slddn-cta p,
.gb-element-slddnCtaBand h2,
.gb-element-slddnCtaBand p {
	color: var(--global-palette9);
}

.slddn-cta p,
.gb-element-slddnCtaBand p {
	font-size: 19px;
	margin-bottom: 32px;
}

/* Accordion details for FAQs */
details.wp-block-details {
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 8px;
	padding: 18px 24px;
	margin-bottom: 12px;
	background: var(--global-palette8);
	transition: all 0.2s ease;
}

details.wp-block-details[open] {
	background: var(--global-palette9);
	border-color: var(--global-palette2);
}

details.wp-block-details summary {
	font-family: var(--global-heading-font-family);
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	outline: none;
}

details.wp-block-details p {
	margin-top: 14px;
	margin-bottom: 0;
}

/* Mobile responsive fixes */
@media (max-width: 1024px) {
	.main-navigation .main-nav ul li a {
		font-size: 15px;
	}

	.slx-header-cta {
		font-size: 15px;
		padding: 11px 18px;
	}
}

@media (max-width: 768px) {
	.site-header .inside-header {
		display: grid;
		grid-template-columns: 1fr auto;
		min-height: 92px;
	}

	.site-branding-container {
		left: auto;
		position: static;
		top: auto;
		transform: none;
	}

	.site-logo img {
		height: 64px;
	}

	.main-navigation.toggled .main-nav > ul {
		background: var(--global-palette3);
	}

	.has-inline-mobile-toggle #site-navigation:not(.toggled) {
		display: none;
	}

	#site-navigation {
		width: auto;
	}

	.main-navigation .inside-navigation {
		min-height: auto;
	}

	.main-navigation .main-nav {
		left: auto;
		position: static;
		top: auto;
		transform: none;
	}

	.mobile-menu-control-wrapper .menu-toggle,
	.mobile-menu-control-wrapper .menu-toggle:hover,
	.mobile-menu-control-wrapper .menu-toggle:focus,
	#site-navigation .menu-toggle {
		background: transparent !important;
		color: var(--global-palette9) !important;
	}

	.menu-bar-items {
		display: none;
	}

	.inside-navigation > .slx-header-cta {
		display: none;
	}
}

/* Custom Footer Styling */
.site-info {
	background-color: var(--global-palette3) !important;
	color: var(--global-palette9) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 30px 24px;
	font-size: 15px;
	text-align: center;
}

.site-info a {
	color: var(--global-palette9) !important;
	text-decoration: none;
}

.site-info a:hover,
.site-info a:focus {
	color: var(--global-palette2) !important;
}
