/**
 * Certifyi — header dropdown/mega-menu background fix.
 * The Astra submenu panel (.sub-menu) had no background-color set, so page
 * content underneath showed through the open dropdown. This restores a
 * solid panel using the site's own brand color variables (Customizer
 * Global Colors), so it always matches whatever palette is set there.
 *
 * Lives outside the theme on purpose — safe through Astra updates.
 */

#ast-desktop-header .main-header-menu .sub-menu,
#ast-desktop-header .main-header-menu ul.sub-menu,
#ast-desktop-header .main-header-menu .sub-menu .sub-menu {
	background-color: var(--ast-global-color-4, #ffffff) !important;
	border: 1px solid var(--ast-global-color-7, #d5ead8);
	border-radius: 10px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(15, 23, 42, 0.06);
	padding: 8px;
	overflow: hidden;
}

#ast-desktop-header .main-header-menu .sub-menu li {
	background-color: transparent;
}

#ast-desktop-header .main-header-menu .sub-menu li > a {
	border-radius: 6px;
	padding: 10px 14px;
	transition: background-color 0.15s ease, color 0.15s ease;
}

#ast-desktop-header .main-header-menu .sub-menu li > a:hover,
#ast-desktop-header .main-header-menu .sub-menu li.current-menu-item > a {
	background-color: var(--ast-global-color-5, #edfbe2) !important;
	color: var(--ast-global-color-0, #328e01) !important;
}

/* Mobile off-canvas menu: same fix so it never shows transparent either */
#ast-mobile-header .main-header-menu .sub-menu {
	background-color: var(--ast-global-color-4, #ffffff) !important;
}

/* Small screens: dropdown becomes an inline accordion, no floating panel needed */
@media (max-width: 768px) {
	#ast-desktop-header .main-header-menu .sub-menu {
		position: relative;
		box-shadow: none;
		border: none;
		border-radius: 0;
	}
}

/* Certifyi transparent floating pill header overrides */
#masthead {
	position: fixed !important;
	top: 14px;
	left: 50% !important;
	transform: translateX(-50%) !important;
	right: auto !important;
	width: fit-content !important;
	max-width: 95vw;
	z-index: 9999;
	background: rgba(255,255,255,0.45) !important;
	backdrop-filter: blur(18px) saturate(180%);
	-webkit-backdrop-filter: blur(18px) saturate(180%);
	box-shadow: 0 4px 24px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.5);
	border: 1px solid rgba(255,255,255,0.5) !important;
	border-radius: 60px;
	overflow: visible;
	padding: 0 !important;
}
.admin-bar #masthead { top: 46px; }

/* Kill Astra spacing */
#masthead .main-header-bar-wrap,
#masthead .main-header-bar {
	background: transparent !important;
	border: none !important;
	min-height: unset !important;
	padding: 0 !important;
	margin: 0 !important;
}
#masthead .ast-builder-grid-row,
#masthead [class*="site-header-section"] {
	padding: 0 !important;
	margin: 0 !important;
}
#masthead .ast-builder-layout-element {
	padding: 0 !important;
}

/* Desktop ( 921px) */
@media (min-width: 922px) {
	#ast-desktop-header {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		padding: 0 6px 0 14px !important;
		height: 50px;
		gap: 8px;
	}
	#ast-desktop-header *:first-child {
		flex-shrink: 0;
	}
	#primary-site-navigation-desktop {
		flex: 0 1 auto;
	}
	#ast-desktop-header *:last-child {
		margin-left: auto !important;
		flex-shrink: 0;
	}
	#ast-hf-menu-1 {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center;
		gap: 2px;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}
	#ast-hf-menu-1 li {
		flex-shrink: 0;
	}
}

/* Menu color (high specificity) */
.ast-theme-transparent-header #masthead .menu-item a,
.ast-theme-transparent-header #masthead .menu-link,
.ast-theme-transparent-header #masthead .ast-builder-menu .menu-item .menu-link,
#masthead .menu-item a,
#masthead .menu-link {
	color: #2c2c2c !important;
	font-size: 13px;
	white-space: nowrap;
	padding: 6px 12px !important;
	line-height: 1.3;
	letter-spacing: 0.2px;
	font-weight: 500;
}
.ast-theme-transparent-header #masthead .menu-item:hover a,
.ast-theme-transparent-header #masthead .menu-item:hover .menu-link,
#masthead .menu-item:hover a,
#masthead .menu-item:hover .menu-link {
	color: #368F4D !important;
}

/* Caret */
.ast-theme-transparent-header #masthead .ast-menu-toggle,
#masthead .ast-menu-toggle {
	color: #2c2c2c !important;
	fill: #2c2c2c !important;
}

/* Dropdown icon spacing */
#masthead .main-header-menu .menu-item-has-children > .ast-menu-toggle,
#masthead .main-header-menu .menu-item-has-children > .menu-link .ast-menu-toggle {
	margin-left: 10px !important;
}

/* Get CERTIFYI button */
.ast-theme-transparent-header #masthead .ast-custom-button,
#masthead .ast-custom-button {
	background: linear-gradient(135deg, #4DB866, #368F4D, #2D7B40) !important;
	color: #fff !important;
	border-radius: 60px !important;
	padding: 8px 22px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	white-space: nowrap;
	border: none !important;
	line-height: 1.3;
}
.ast-theme-transparent-header #masthead .ast-custom-button:hover,
#masthead .ast-custom-button:hover {
	opacity: 0.92;
}

/* Submenu */
#masthead .sub-menu {
	background: rgba(255,255,255,0.95) !important;
	backdrop-filter: blur(18px) saturate(180%);
	-webkit-backdrop-filter: blur(18px) saturate(180%);
	border: 1px solid rgba(0,0,0,0.06) !important;
	border-radius: 12px !important;
	padding: 8px 0 !important;
	box-shadow: 0 8px 32px rgba(0,0,0,0.1) !important;
	min-width: 200px;
}
#masthead .sub-menu .menu-item a,
#masthead .sub-menu .menu-link {
	color: #2c2c2c !important;
	font-size: 13px !important;
	padding: 8px 18px !important;
}
#masthead .sub-menu .menu-item:hover a {
	color: #368F4D !important;
	background: rgba(54,143,77,0.06) !important;
}

/* Logo sizing */
#masthead .ast-site-identity img,
#masthead .custom-logo {
	max-height: 34px !important;
	width: auto !important;
}

/* Body offset for fixed header */
body {
	padding-top: 80px !important;
}
.admin-bar body {
	padding-top: 112px !important;
}

/* Tablet (max 921px) */
@media (max-width: 921px) {
	#masthead {
		top: 10px;
		width: 92vw !important;
		max-width: 92vw;
		padding: 0 10px !important;
		border-radius: 30px;
		height: auto;
	}
	.admin-bar #masthead {
		top: 56px;
	}
	#masthead .ast-mobile-header-wrap,
	#masthead .ast-mobile-header-content {
		background: transparent !important;
		padding: 0 !important;
	}
	#masthead .main-header-bar {
		height: 48px !important;
		min-height: unset !important;
	}
}

/* Mobile (max 544px) */
@media (max-width: 544px) {
	#masthead {
		top: 8px;
		width: 94vw !important;
		max-width: 94vw;
		border-radius: 24px;
	}
	.admin-bar #masthead {
		top: 52px;
	}
	body {
		padding-top: 70px !important;
	}
	.admin-bar body {
		padding-top: 102px !important;
	}
}

/* Mobile menu drawer */
#masthead .ast-mobile-popup-drawer .ast-mobile-popup-inner {
	background: rgba(255,255,255,0.97) !important;
	backdrop-filter: blur(24px) !important;
}
#masthead .ast-mobile-popup-drawer .menu-item a {
	color: #2c2c2c !important;
	border-color: rgba(0,0,0,0.06) !important;
	padding: 10px 20px !important;
}
#masthead .ast-mobile-popup-drawer .menu-item:hover a {
	color: #368F4D !important;
	background: rgba(54,143,77,0.06) !important;
}
#masthead .ast-mobile-popup-drawer .ast-button-wrap .ast-custom-button {
	background: linear-gradient(135deg, #4DB866, #368F4D, #2D7B40) !important;
	color: #fff !important;
	border-radius: 60px !important;
}
#masthead .ast-mobile-popup-drawer .close {
	color: #2c2c2c !important;
}

/* Hide Shape Divider */
.elementor-shape {
	display: none !important;
}

/* Increase Menu & Submenu Font Sizes */
#masthead .menu-item a,
#masthead .menu-link {
	font-size: 16px !important;
}
#masthead .sub-menu .menu-item a,
#masthead .sub-menu .menu-link {
	font-size: 15px !important;
}

/* Submenu White Separator Lines (SecurityPal Style) */
#masthead .sub-menu .menu-item {
	border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important;
	padding: 0 !important;
}

#masthead .sub-menu .menu-item:last-child {
	border-bottom: none !important;
}

#masthead .sub-menu .menu-link {
	padding: 12px 20px !important;
	display: block !important;
}

#masthead .sub-menu {
	padding: 8px 0 !important;
}

/* Additional submenu separator styles for Astra theme */
.ast-header-break-point .ast-below-header-menu .menu-item,
.main-header-menu .sub-menu li.menu-item,
.ast-desktop .main-header-menu .sub-menu li.menu-item,
#masthead .astra-full-megamenu-wrapper .menu-item,
.ast-builder-menu .sub-menu .menu-item {
	border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important;
}

.ast-header-break-point .ast-below-header-menu .menu-item:last-child,
.main-header-menu .sub-menu li.menu-item:last-child,
.ast-desktop .main-header-menu .sub-menu li.menu-item:last-child,
#masthead .astra-full-megamenu-wrapper .menu-item:last-child,
.ast-builder-menu .sub-menu .menu-item:last-child {
	border-bottom: none !important;
}

/* Glassmorphism Effect for Submenu */
#masthead .sub-menu,
.main-header-menu .sub-menu,
.ast-desktop .main-header-menu .sub-menu,
.ast-builder-menu .sub-menu {
	background: rgba(255, 255, 255, 0.75) !important;
	backdrop-filter: blur(20px) saturate(180%) !important;
	-webkit-backdrop-filter: blur(20px) saturate(180%) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 
		inset 0 0 0 1px rgba(255, 255, 255, 0.2) !important;
}

/* certifyi-body-text-color */
body { color: #000000; }

/* certifyi-menu-overflow-fix */
.main-header-menu .menu-link,
.ast-nav-menu .menu-link {
	white-space: nowrap;
}
.main-header-menu .menu-item,
.ast-nav-menu .menu-item {
	flex-shrink: 0;
}
.ast-nav-menu .sub-menu .menu-link {
	white-space: nowrap;
}

/* certifyi-submenu-gap-fix */
#masthead .main-header-menu .menu-item {
	position: relative;
}
#masthead .main-header-menu .menu-item .sub-menu {
	position: absolute !important;
	top: 100% !important;
	left: 0;
	margin-top: 0 !important;
	padding-top: 8px !important;
}
#masthead .main-header-menu .sub-menu:before,
#masthead .main-header-menu .astra-full-megamenu-wrapper:before {
	content: none !important;
}
#masthead .main-header-menu .menu-item.menu-item-has-children:after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 16px;
	background: transparent;
}

/* certifyi-design-system */
:root{
	--ci-primary:#368F4D;
	--ci-primary-dark:#236300;
	--ci-secondary:#1E293B;
	--ci-text:#000000;
	--ci-accent:#ff5e1f;
	--ci-accent-dark:#e04d10;
	--ci-link:#3B82F6;
	--ci-link-hover:#2563EB;
	--ci-bg-light:#F8FAFC;
	--ci-border:#E2E8F0;
	--ci-danger:#EF4444;
	--ci-danger-bg:#FEF2F2;
	--ci-danger-text:#7F1D1D;
	--ci-white:#ffffff;
}

body{ color:var(--ci-text); }
h1, h2, h3{ color:var(--ci-secondary); }
h4, h5, h6{ color:var(--ci-text); }

.entry-content a, .elementor-widget-text-editor a{ color:var(--ci-link); }
.entry-content a:hover, .elementor-widget-text-editor a:hover{ color:var(--ci-link-hover); }

.elementor-button, .wp-block-button__link, .ast-custom-button, .ci-btn{
	background-color:var(--ci-primary);
	color:var(--ci-white);
	border-radius:8px;
	font-weight:700;
}
.elementor-button:hover, .wp-block-button__link:hover, .ast-custom-button:hover, .ci-btn:hover{
	background-color:var(--ci-primary-dark);
	color:var(--ci-white);
}

.ci-cta, a.ci-cta, .elementor-button.ci-cta{
	background-color:var(--ci-accent);
	color:var(--ci-white);
}
.ci-cta:hover, a.ci-cta:hover, .elementor-button.ci-cta:hover{
	background-color:var(--ci-accent-dark);
	color:var(--ci-white);
}

.ci-alert{
	background:var(--ci-danger-bg);
	border-left:4px solid var(--ci-danger);
	color:var(--ci-danger-text);
	padding:14px 18px;
	border-radius:8px;
	margin:16px 0;
}
.ci-alert-title{ color:var(--ci-danger); font-weight:700; display:block; margin-bottom:4px; }
.ci-risk-high{ color:var(--ci-danger); font-weight:700; }
.ci-badge-noncompliant{
	display:inline-block; background:var(--ci-danger); color:var(--ci-white);
	font-size:12px; font-weight:700; padding:3px 10px; border-radius:100px;
}
.ci-badge-compliant{
	display:inline-block; background:var(--ci-primary); color:var(--ci-white);
	font-size:12px; font-weight:700; padding:3px 10px; border-radius:100px;
}

.ci-section-light{ background:var(--ci-bg-light); }
.ci-surface, .ci-card{
	background:var(--ci-bg-light);
	border:1px solid var(--ci-border);
	border-radius:12px;
	padding:24px;
}

@media (max-width:1024px){
	h1{ font-size:34px; line-height:1.2; }
	h2{ font-size:26px; }
	.ci-surface, .ci-card{ padding:20px; }
}
@media (max-width:767px){
	h1{ font-size:28px; line-height:1.22; }
	h2{ font-size:22px; }
	h3{ font-size:19px; }
	.ci-surface, .ci-card{ padding:16px; border-radius:10px; }
	.elementor-button, .wp-block-button__link, .ci-btn, .ci-cta{
		display:block; width:100%; text-align:center;
	}
}

/* certifyi-link-scope-fix */
#masthead a, #masthead .main-header-menu .menu-link,
.ast-builder-menu a, .main-header-menu .menu-link{ color:#1E293B; text-decoration:none; }
#masthead .main-header-menu .menu-item:hover .menu-link,
#masthead .main-header-menu .menu-link:hover{ color:#368F4D; }
#masthead .sub-menu .menu-link{ color:#1E293B; }
#masthead .sub-menu .menu-item:hover .menu-link{ color:#368F4D; }
.site-footer a, #colophon a{ text-decoration:none; }
.site-footer a:hover, #colophon a:hover{ color:#368F4D; }

.entry-content p a:not([class]),
.elementor-widget-html p a:not([class]),
.elementor-widget-text-editor p a:not([class]){
	color:#3B82F6;
	text-decoration:underline;
}
.entry-content p a:not([class]):hover,
.elementor-widget-html p a:not([class]):hover,
.elementor-widget-text-editor p a:not([class]):hover{ color:#2563EB; }

a.btn, a.btn-primary, a.btn-ghost, a.btn-outline, a.btn-secondary,
a.btn-white, a.btn-light, a.ci-cta, a.card,
.elementor-button, .wp-block-button__link, .ast-custom-button{
	text-decoration:none !important;
}

.site-content .ast-container{ padding-top:0 !important; }
.elementor-page .site-content .ast-container{ padding-bottom:0 !important; }
.elementor-widget-html .elementor-widget-container{ padding:0 !important; margin:0 !important; }
.elementor-widget-html title{ display:none !important; }

.elementor-widget-html .btn,
.elementor-widget-html .btn-ghost,
.elementor-widget-html .btn-outline,
.elementor-widget-html .card,
.elementor-widget-html .link,
.elementor-widget-html .tab-pill{
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.elementor-widget-html a.btn:not(.btn-ghost):not(.btn-outline):not(.btn-white):not(.btn-light):not(.btn-secondary):hover{
	background-color:#236300;
	color:#ffffff;
}

.elementor-widget-html a.card:hover{
	border-color:#368f4d;
	transform:translateY(-2px);
	box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.elementor-widget-html a.card:hover .link{ color:#236300; }
.elementor-widget-html .link:hover{ color:#236300; }

.elementor-widget-html a:focus-visible,
.elementor-widget-html .btn:focus-visible,
.elementor-widget-html .card:focus-visible{
	outline:2px solid #3B82F6;
	outline-offset:2px;
	border-radius:6px;
}

.site-footer, #colophon{ background:#0f172a; }
.site-footer, .site-footer p, .site-footer li, .site-footer span,
#colophon, #colophon p, #colophon li{ color:#cbd5e1; }
.site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5,
.site-footer .widget-title, .site-footer .elementskit-section-title,
#colophon h5, #colophon .widget-title{
	color:#ffffff !important;
	font-family:"Archivo",sans-serif;
	font-size:14px !important;
	letter-spacing:.06em;
	text-transform:uppercase;
	margin-bottom:14px !important;
}
.site-footer a, #colophon a{ color:#cbd5e1; text-decoration:none; transition:color .16s ease; }
.site-footer a:hover, #colophon a:hover{ color:#4ade80; }

.site-footer .ekit-nav-menu li, #colophon .menu li{ margin-bottom:9px; line-height:1.5; }
.site-footer .ekit-nav-menu, .site-footer .menu{ list-style:none; padding-left:0; margin:0; }
.site-footer .elementskit-icon-box{ margin-bottom:14px; }

.site-footer .ast-builder-grid-row-container{ border-top:1px solid rgba(255,255,255,.08); }
.site-below-footer-wrap{ background:#0b1220; color:#94a3b8; font-size:13px; }
.site-below-footer-wrap a{ color:#94a3b8; }

.site-footer .ast-builder-social-element{ color:#cbd5e1 !important; }
.site-footer .ast-builder-social-element:hover{ color:#4ade80 !important; }

@media (max-width:1024px){
	.site-footer .ast-builder-grid-row,
	.site-primary-footer-inner-wrap{
		grid-template-columns:repeat(2,1fr) !important;
		gap:30px 24px;
	}
}
@media (max-width:767px){
	.site-footer .ast-builder-grid-row,
	.site-primary-footer-inner-wrap{
		grid-template-columns:1fr !important;
		gap:28px;
	}
	.site-footer .site-footer-section{ text-align:left; }
	.site-footer h2, .site-footer h3, .site-footer h5,
	.site-footer .widget-title{ margin-top:4px !important; }
	.site-footer .ekit-nav-menu li{ margin-bottom:12px; }
	.site-footer a, #colophon a{ display:inline-block; padding:3px 0; min-height:32px; line-height:1.7; }
	.site-footer .ast-footer-social-wrap{ justify-content:flex-start; margin-top:6px; }
	.site-below-footer-wrap{ text-align:center; padding:16px 0; }
	.site-footer img{ max-width:180px; height:auto; }
}

/* certifyi-submenu-align */
#masthead .sub-menu,
.main-header-menu .sub-menu,
.ast-desktop .main-header-menu .sub-menu,
.ast-builder-menu .sub-menu,
.ast-nav-menu .sub-menu {
	text-align: left !important;
	direction: ltr !important;
	min-width: 260px;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
#masthead .sub-menu .menu-item,
.main-header-menu .sub-menu .menu-item,
.ast-builder-menu .sub-menu .menu-item {
	text-align: left !important;
	direction: ltr !important;
}
#masthead .sub-menu .menu-link,
#masthead .sub-menu .menu-item a,
.main-header-menu .sub-menu .menu-link,
.ast-desktop .main-header-menu .sub-menu .menu-link,
.ast-builder-menu .sub-menu .menu-link,
.ast-nav-menu .sub-menu .menu-link {
	text-align: left !important;
	justify-content: flex-start !important;
	display: block !important;
	width: 100% !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	white-space: nowrap;
}
/* end-certifyi-submenu-align */
