/*
Theme Name: Memberlite Child
Theme URI: https://memberlitetheme.com/
Description: Child theme for Memberlite with custom styling
Author: Matt Galdino
Template: memberlite
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: memberlite-child
*/

/* ===========================================
   CSS VARIABLES - Easy to customize
   =========================================== */
:root {
	--color-primary: #7E22CE;
	--color-primary-dark: #6B21A8;
	--color-text: #1f2937;
	--color-text-light: #6b7280;
	--color-white: #ffffff;
	--color-border: #e5e7eb;
	--color-hover-bg: #dedede;
	--footer-accent: var(--memberlite-color-footer-widgets-background, #1D4ED8);
	
	--header-height: 75px;
	--header-padding: 0 2.5rem;
	--header-max-width: 1400px;
	--content-max-width: 1240px;
	
	--font-size-title: 1.95rem;
	--font-size-tagline: 1.1rem;
	--font-size-nav: 1.45rem;
	--font-size-btn: 1.4rem;
	
	--logo-height: 82px;
	--btn-padding: 0.875rem 1.75rem;
	--nav-gap: 0.35rem;
}

/* ===========================================
   HEADER - Main Container
   =========================================== */
#masthead.site-header {
	background: var(--color-white);
	border-bottom: 1px solid var(--color-border);
	position: relative;
	z-index: 1000;
}

/* ===========================================
   MAIN CONTENT SPACING
   =========================================== */
#content.site-content {
	padding-top: 40px;
}

.header-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: var(--header-max-width);
	height: var(--header-height);
	margin: 0 auto;
	padding: var(--header-padding);
	gap: 2rem;
}

/* ===========================================
   HEADER - Brand (Logo + Title)
   =========================================== */
.header-brand {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	text-decoration: none;
	flex-shrink: 0;
}

.header-logo {
	height: var(--logo-height);
	width: auto;
	margin-top: 26px;
}

.header-brand-text {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.header-title {
	font-size: var(--font-size-title);
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1.2;
}

.header-tagline {
	font-size: var(--font-size-tagline);
	color: var(--color-text-light);
	line-height: 1.2;
}

/* ===========================================
   HEADER - Navigation
   =========================================== */
.header-nav {
	display: flex;
	flex: 1;
	justify-content: center;
}

.nav-menu {
	display: flex;
	align-items: flex-start;
	gap: var(--nav-gap);
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav-menu > li {
	position: relative;
	margin: 0;

}

.nav-menu > li > a {
	display: inline-flex;
	align-items: center;
	padding: 0.75rem 1.25rem;
	color: var(--color-text);
	font-size: var(--font-size-nav);
	font-weight: 500;
	text-decoration: none;
	border-radius: 0.375rem;
	transition: background-color 0.2s, color 0.2s;
	white-space: nowrap;
}

.nav-menu > li > a:hover {
	background: var(--color-hover-bg);
	color: var(--color-primary);
}

/* Dropdown Arrow */
.nav-menu > li.menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	margin-left: 0.4rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231f2937' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6-6'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.7;
	transition: opacity 0.2s;
}

.nav-menu > li.menu-item-has-children > a:hover::after {
	opacity: 1;
}

/* ===========================================
   HEADER - Dropdown Menu
   =========================================== */
.nav-menu .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 0.5rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	padding: 0.5rem 0;
	margin: 0;
	list-style: none;
	z-index: 100;
}

.nav-menu li:hover > .sub-menu {
	display: block;
}

.nav-menu .sub-menu li {
	position: relative;
	margin: 0;
}

.nav-menu .sub-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.6em 1rem;
	color: var(--color-text);
	font-size: 1.50rem;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.nav-menu .sub-menu a:hover {
	background: var(--color-hover-bg);
	color: var(--color-primary);
}

/* Rotate arrow on hover for nested menus */
.nav-menu .sub-menu li.menu-item-has-children:hover > a::after {
	opacity: 1;
	transform: translateX(2px);
}

/* Nested Dropdown */
.nav-menu .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	margin-left: 0.25rem;
}

/* Nested Dropdown Arrow (points right) */
.nav-menu .sub-menu li.menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 0.85em;
	height: 0.85em;
	flex-shrink: 0;
	margin-left: 0.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%231f2937' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6l-6 6'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.6;
	transition: transform 0.2s, opacity 0.2s;
}

/* ===========================================
   HEADER - Login Button
   =========================================== */
.header-actions {
	flex-shrink: 0;
}

.btn-login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--btn-padding);
	background: var(--color-primary);
	color: var(--color-white);
	font-size: var(--font-size-btn);
	font-weight: 500;
	text-decoration: none;
	border-radius: 0.5rem;
	transition: background-color 0.2s;
	white-space: nowrap;
}

.btn-login:hover {
	background: var(--color-primary-dark);
	color: var(--color-white);
}

/* ===========================================
   HEADER - Mobile Menu Button (hidden on desktop)
   =========================================== */
.mobile-menu-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer;
	color: var(--color-primary);
	font-size: 2.5rem;
	padding: 0;
	-webkit-appearance: none;
	appearance: none;
}

.mobile-menu-btn:hover,
.mobile-menu-btn:focus,
.mobile-menu-btn:active {
	background: transparent !important;
	opacity: 1 !important;
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
}

/* ===========================================
   RESPONSIVE - Tablet & Mobile
   =========================================== */
@media screen and (max-width: 1024px) {
	:root {
		--font-size-nav: 0.9rem;
		--nav-gap: 0.25rem;
	}
	
	.nav-menu > li > a {
		padding: 0.5rem 0.75rem;
	}
}

@media screen and (max-width: 900px) {
	/* Show hamburger, hide nav */
	.mobile-menu-btn {
		display: flex;
		order: 1;
		font-size: 2.75rem;
		padding: 0;
	}
	
	.header-nav {
		display: none;
	}
	
	/* Reorder: hamburger | brand (center) | login */
	.header-wrapper {
		display: grid;
		grid-template-columns: auto 1fr auto;
		gap: 1rem;
		height: auto;
		padding: 0.875rem 1.25rem;
	}
	
	.header-brand {
		order: 2;
		justify-self: center;
	}
	
	.header-actions {
		order: 3;
		display: flex;
		align-items: center;
	}
	
	/* Brand on mobile */
	.header-logo {
		height: 50px;
	}
	
	.header-title {
		font-size: 1.35rem;
	}
	
	.header-tagline {
		display: none;
	}
	
	.btn-login {
		padding: 0.75rem 1.5rem;
		font-size: 1.125rem;
	}
}

@media screen and (max-width: 480px) {
	.header-wrapper {
		padding: 0.75rem 1rem;
		gap: 0.75rem;
	}
	
	.header-logo {
		height: 42px;
	}
	
	.header-title {
		font-size: 1.2rem;
	}
	
	.mobile-menu-btn {
		font-size: 2.5rem;
	}
	
	.btn-login {
		padding: 0.625rem 1.25rem;
		font-size: 1rem;
	}
}

/* ===========================================
   HIDE OLD NAVIGATION (from parent theme)
   =========================================== */
#site-navigation,
.site-navigation-sticky-wrapper,
.mobile-navigation-bar {
	display: none !important;
}

/* ===========================================
   MOBILE NAVIGATION - Ensure proper z-index
   =========================================== */
#mobile-navigation {
	z-index: 2000 !important;
}
#mobile-navigation-height-col {
	z-index: 1999 !important;
}

/* Old header elements */
#masthead .row,
#masthead .site-branding,
#masthead .header-right {
	display: none !important;
}

/* ===========================================
   HERO SECTION
   =========================================== */

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Inter:wght@400;500;600;700&display=swap');

.hero-section {
	position: relative;
	min-height: 75vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4rem 1.5rem 8rem 1.5rem;
	background: var(--color-white);
	overflow: visible;
}

/* Gradient background decorations */
.hero-section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 60%;
	background: radial-gradient(ellipse at top left, rgba(233, 213, 255, 0.5) 0%, transparent 60%);
	pointer-events: none;
}

.hero-section::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 50%;
	height: 60%;
	background: radial-gradient(ellipse at bottom right, rgba(253, 230, 243, 0.5) 0%, transparent 60%);
	pointer-events: none;
}

/* Decorative yellow dot */
.hero-decoration {
	position: absolute;
	top: 25%;
	right: 20%;
	width: 18px;
	height: 18px;
	background: #FDE047;
	border-radius: 50%;
	z-index: 1;
}

.hero-content {
	position: relative;
	z-index: 2;
	text-align: center;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 clamp(0rem, 2vw, 1.25rem);
}

.hero-layout {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.hero-copy {
	min-width: 0;
}

.hero-media {
	display: flex;
	justify-content: center;
}

.hero-media__frame {
	position: relative;
	width: min(460px, 100%);
	aspect-ratio: 1 / 1;
	border-radius: 1.75rem;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(126, 34, 206, 0.10), rgba(253, 230, 243, 0.18));
	box-shadow: 0 18px 40px rgba(17, 24, 39, 0.10);
}

.hero-media__frame::before {
	content: "";
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 14px;
	height: 14px;
	background: #FDE047;
	border-radius: 50%;
	z-index: 2;
}

.hero-media__frame::after {
	content: "";
	position: absolute;
	bottom: -50px;
	left: -50px;
	width: 220px;
	height: 220px;
	background: radial-gradient(circle at center, rgba(253, 224, 71, 0.28) 0%, transparent 62%);
	pointer-events: none;
	z-index: 1;
}

.hero-media__embed {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}

.hero-media__embed > * {
	width: 100% !important;
	height: 100% !important;
}

.hero-media__embed iframe,
.hero-media__embed video,
.hero-media__embed embed,
.hero-media__embed object {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
}

/* Badge/Tag */
.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.875rem 2rem;
	background: transparent;
	border: 1px solid rgba(126, 34, 206, 0.2);
	border-radius: 50px;
	font-family: 'Inter', sans-serif;
	font-size: 1.3rem;
	color: var(--color-text);
	margin-bottom: 2.75rem;
}

.hero-badge svg {
	width: 24px;
	height: 24px;
	color: var(--color-primary);
}

/* Main heading */
.hero-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 5.5rem;
	font-weight: 600;
	line-height: 1.1;
	color: var(--color-text);
	margin: 0 0 2.25rem 0;
}

.hero-title-highlight {
	display: inline;
	position: relative;
	color: var(--color-primary);
}

/* Yellow curved underline */
.hero-title-highlight::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 14px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 12' fill='none'%3E%3Cpath d='M2 10C50 4 150 2 298 6' stroke='%23FDE047' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
	background-size: 100% 14px;
	background-repeat: no-repeat;
}

/* Description paragraph */
.hero-description {
	font-family: 'Inter', sans-serif;
	font-size: 1.55rem;
	line-height: 1.8;
	color: var(--color-text-light);
	margin: 0 0 3.25rem 0;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}

/* Buttons container */
.hero-buttons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}

/* Primary button */
.hero-btn-primary {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1.25rem 2.75rem;
	background: var(--color-primary);
	color: var(--color-white);
	font-family: 'Inter', sans-serif;
	font-size: 1.55rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 0.625rem;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.hero-btn-primary:hover {
	background: var(--color-primary-dark);
	color: var(--color-white);
	transform: translateY(-2px);
}

.hero-btn-primary svg {
	width: 22px;
	height: 22px;
	transition: transform 0.2s ease;
}

.hero-btn-primary:hover svg {
	transform: translateX(4px);
}

/* Secondary button */
.hero-btn-secondary {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1.25rem 2.75rem;
	background: transparent;
	color: var(--color-primary);
	font-family: 'Inter', sans-serif;
	font-size: 1.55rem;
	font-weight: 500;
	text-decoration: none;
	border: 1px solid rgba(126, 34, 206, 0.3);
	border-radius: 0.625rem;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.hero-btn-secondary:hover {
	background: rgba(126, 34, 206, 0.05);
	border-color: var(--color-primary);
	color: var(--color-primary);
	transform: translateY(-2px);
}

/* Donate button with dropdown */
.hero-btn-donate-wrapper {
	position: relative;
	display: inline-block;
}

.hero-btn-donate {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1.25rem 2.75rem;
	background: #FDE047;
	color: var(--color-text);
	font-family: 'Inter', sans-serif;
	font-size: 1.55rem;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid #FDE047;
	border-radius: 0.625rem;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, color 0.2s ease;
	cursor: pointer;
}

.hero-btn-donate:hover,
.hero-btn-donate-wrapper.active .hero-btn-donate {
	background: #FCD34D;
	border-color: #FCD34D;
	color: var(--color-primary);
	transform: translateY(-2px);
}

.hero-btn-donate svg {
	width: 20px;
	height: 20px;
	transition: transform 0.2s ease;
}

.hero-btn-donate-wrapper.active .hero-btn-donate svg {
	transform: rotate(180deg);
}

.hero-donate-dropdown {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 50%;
	transform: translateX(-50%);
	min-width: 320px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
	padding: 0.5rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
	z-index: 100;
	pointer-events: none;
}

.hero-btn-donate-wrapper.active .hero-donate-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
	pointer-events: auto;
}

.hero-donate-option {
	display: block;
	padding: 1rem 1.25rem;
	color: var(--color-text);
	font-family: 'Inter', sans-serif;
	font-size: 1.35rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 0.5rem;
	transition: background-color 0.2s ease, color 0.2s ease;
	white-space: nowrap;
}

.hero-donate-option:hover {
	background: rgba(126, 34, 206, 0.08);
	color: var(--color-primary);
}

@media screen and (min-width: 1024px) {
	.hero-layout {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	}

	.hero-copy {
		text-align: left;
	}

	.hero-buttons {
		justify-content: flex-start;
	}

	.hero-description {
		margin-left: 0;
		margin-right: 0;
	}
}

/* ===========================================
   HERO SECTION - Responsive
   =========================================== */
@media screen and (max-width: 1024px) {
	.hero-title {
		font-size: 4.25rem;
	}
	
	.hero-description {
		font-size: 1.35rem;
	}
}

@media screen and (max-width: 768px) {
	.hero-section {
		min-height: auto;
		padding: 3.5rem 1.5rem 6rem 1.5rem;
	}
	
	.hero-content {
		max-width: 100%;
	}
	
	.hero-badge {
		font-size: 0.95rem;
		padding: 0.625rem 1.25rem;
		margin-bottom: 2rem;
	}
	
	.hero-badge svg {
		width: 20px;
		height: 20px;
	}
	
	.hero-title {
		font-size: 2.75rem;
		margin-bottom: 1.5rem;
		line-height: 1.2;
	}
	
	/* SVG underline adjustment for tablet */
	.hero-title-highlight::after {
		height: 9px;
		bottom: -3px;
		background-size: 100% 9px;
	}
	
	.hero-description {
		font-size: 1.1rem;
		line-height: 1.7;
		margin-bottom: 2.25rem;
		padding: 0 0.5rem;
	}
	
	.hero-buttons {
		gap: 1rem;
	}
	
	.hero-btn-primary,
	.hero-btn-secondary,
	.hero-btn-donate {
		padding: 1rem 1.75rem;
		font-size: 1.0625rem;
	}
	
	.hero-donate-dropdown {
		min-width: 280px;
	}
	
	.hero-donate-option {
		font-size: 1.15rem;
	}
	
	.hero-decoration {
		top: 10%;
		right: 8%;
		width: 12px;
		height: 12px;
	}
}

@media screen and (max-width: 480px) {
	.hero-section {
		padding: 3rem 1.5rem 6rem 1.5rem;
        padding-top: 70px;
	}
	
	.hero-badge {
		font-size: 1.125rem;
		padding: 0.75rem 1.5rem;
		gap: 0.625rem;
		margin-bottom: 2rem;
	}
	
	.hero-badge svg {
		width: 22px;
		height: 22px;
	}
	
	.hero-title {
		font-size: 3.75rem;
		line-height: 1.1;
		margin-bottom: 5.25rem;
	}
	
	/* SVG underline - more visible on mobile */
	.hero-title-highlight {
		display: inline;
		padding-bottom: 4px;
	}
	
	.hero-title-highlight::after {
		height: 12px;
		bottom: -4px;
		background-size: 100% 12px;
	}
	
	.hero-description {
		font-size: 1.375rem;
		line-height: 1.7;
		margin-bottom: 2.5rem;
		padding: 0;
        padding-bottom: 40px;
	}
	
	.hero-buttons {
		flex-direction: column;
		gap: 1rem;
		width: 100%;
	}
	
	.hero-btn-primary,
	.hero-btn-secondary,
	.hero-btn-donate {
		width: 100%;
		justify-content: center;
		padding: 1.25rem 2rem;
		font-size: 1.25rem;
		border-radius: 0.625rem;
	}
	
	.hero-btn-primary svg {
		width: 22px;
		height: 22px;
	}
	
	.hero-btn-donate-wrapper {
		width: 100%;
	}
	
	.hero-donate-dropdown {
		left: 0;
		right: 0;
		transform: none;
		min-width: 100%;
	}
	
	.hero-btn-donate-wrapper.active .hero-donate-dropdown {
		transform: none;
	}
	
	.hero-donate-option {
		font-size: 1.15rem;
		white-space: normal;
		text-align: center;
	}
	
	.hero-decoration {
		display: none;
	}
}

/* Extra small screens */
@media screen and (max-width: 360px) {
	.hero-section {
		padding: 2.5rem 1.25rem 5rem 1.25rem;
	}
	
	.hero-badge {
		font-size: 1rem;
		padding: 0.625rem 1.25rem;
	}
	
	.hero-title {
		font-size: 2.75rem;
	}
	
	.hero-title-highlight::after {
		height: 10px;
		bottom: -3px;
	}
	
	.hero-description {
		font-size: 1.25rem;
	}
	
	.hero-btn-primary,
	.hero-btn-secondary {
		padding: 1.125rem 1.75rem;
		font-size: 1.125rem;
	}
}

/* ===========================================
   HOMEPAGE SECTIONS (Reusable components)
   =========================================== */
.ml-container {
	max-width: var(--content-max-width);
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 1.5rem);
}

.ml-section {
	padding: clamp(5rem, 7vw, 8rem) 0;
	background: var(--color-white);
}

.ml-section + .ml-section {
	padding-top: clamp(5rem, 9vw, 8rem);
}

.ml-section--soft {
	background: linear-gradient(180deg, rgba(126, 34, 206, 0.06), rgba(253, 230, 243, 0.06));
}

.ml-section__header {
	text-align: center;
	margin-bottom: clamp(2.75rem, 5vw, 5rem);
}

.ml-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	border: 1px solid rgba(126, 34, 206, 0.2);
	border-radius: 999px;
	font-family: 'Inter', sans-serif;
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--color-text);
	margin: 0 0 1rem 0;
}

.ml-section__title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
	color: var(--color-text);
	margin: 0;
}

.ml-grid {
	display: grid;
	gap: clamp(1rem, 2.5vw, 1.75rem);
}

.ml-grid--cards {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.ml-grid--posts {
	grid-template-columns: 1fr;
	max-width: 1200px;
	margin: 0 auto;
}

@media screen and (min-width: 768px) {
	.ml-grid--posts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.ml-card,
.ml-post {
	display: block;
	text-decoration: none;
	color: inherit;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(126, 34, 206, 0.12);
	border-radius: 0.875rem;
	box-shadow: 0 10px 28px rgba(17, 24, 39, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.ml-card {
	padding: 1.5rem;
}

.ml-post {
	overflow: hidden;
	padding: 0;
}

.ml-card:hover,
.ml-post:hover {
	transform: translateY(-3px);
	border-color: rgba(126, 34, 206, 0.22);
	box-shadow: 0 18px 40px rgba(17, 24, 39, 0.10);
}

.ml-card__kicker {
	font-family: 'Inter', sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-primary);
	margin-bottom: 0.75rem;
}

.ml-card__title,
.ml-post__title {
	font-family: 'Inter', sans-serif;
	font-size: clamp(1.65rem, 1.85vw, 1.95rem);
	font-weight: 600;
	line-height: 1.25;
	color: var(--color-text);
	margin: 0 0 0.75rem 0;
}

.ml-post__media {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, rgba(126, 34, 206, 0.12), rgba(253, 230, 243, 0.18));
}

@media screen and (min-width: 768px) {
	/* Shorter image area on larger screens */
	.ml-post__media {
		aspect-ratio: 21 / 9;
	}
}

.ml-post__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.ml-post__body {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-height: 280px;
}

.ml-card__text,
.ml-post__text {
	font-family: 'Inter', sans-serif;
	font-size: clamp(1.2rem, 1.3vw, 1.35rem);
	line-height: 1.75;
	color: var(--color-text-light);
	margin: 0;
	flex-grow: 1;
}

.ml-card__cta,
.ml-post__cta {
	font-family: 'Inter', sans-serif;
	font-size: 1.15rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.ml-card__cta {
	color: var(--color-primary);
}

.ml-post__cta {
	margin-top: 1.5rem;
	align-self: flex-end;
	padding: 0.75rem 1.1rem;
	border-radius: 0.375rem;
	color: var(--color-white);
	background: linear-gradient(135deg, #3B82F6 0%, #2563EB 55%, #1D4ED8 100%);
	box-shadow: 0 14px 30px rgba(17, 24, 39, 0.12);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.95rem;
}

@supports (background: color-mix(in srgb, #000 50%, #fff)) {
	.ml-post__cta {
		background: linear-gradient(
			135deg,
			color-mix(in srgb, var(--footer-accent) 78%, white) 0%,
			var(--footer-accent) 55%,
			color-mix(in srgb, var(--footer-accent) 88%, black) 100%
		);
	}
}

.ml-post:hover .ml-post__cta {
	filter: brightness(1.05);
	box-shadow: 0 18px 40px rgba(17, 24, 39, 0.16);
}

.ml-card__cta::after,
.ml-post__cta::after {
	content: "→";
	transition: transform 0.2s ease;
}

.ml-card:hover .ml-card__cta::after,
.ml-post:hover .ml-post__cta::after {
	transform: translateX(4px);
}

.ml-post__meta {
	font-family: 'Inter', sans-serif;
	font-size: 1.15rem;
	color: var(--color-text-light);
	margin-bottom: 0.75rem;
}

/* ===========================================
   NEWS ARCHIVE - Pagination
   =========================================== */
.ml-section--news,
.ml-section--news-archive {
	padding: clamp(2rem, 4vw, 3rem) 0 clamp(3rem, 5vw, 4rem) 0;
}

.ml-section--news-archive .ml-grid--posts {
	max-width: var(--content-max-width);
	margin: 0 auto;
}

/* Hide sidebar on specific pages */
.page-id-1866 #primary.content-area,
.page-id-75 #primary.content-area,
.page-id-1701 #primary.content-area,
.page-id-1854 #primary.content-area,
.page-id-1499 #primary.content-area,
.page-id-650 #primary.content-area,
.page-id-409 #primary.content-area,
.page-id-61 #primary.content-area {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100%;
}

.page-id-1866 #secondary,
.page-id-75 #secondary,
.page-id-1701 #secondary,
.page-id-1854 #secondary,
.page-id-1499 #secondary,
.page-id-650 #secondary,
.page-id-409 #secondary,
.page-id-61 #secondary {
	display: none !important;
}

/* Hide sidebar on MemberPress products (by template) */
.single-memberpressproduct #primary.content-area,
.single-memberpressproduct .content-area {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

.single-memberpressproduct #secondary,
.single-memberpressproduct .widget-area {
	display: none !important;
}

/* Hide sidebar on Knowledge Base articles */
.single-epkb_post_type_3 #primary.content-area,
.single-epkb_post_type_3 .content-area {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

.single-epkb_post_type_3 #secondary,
.single-epkb_post_type_3 .widget-area {
	display: none !important;
}

/* Hide page navigation on pages (show only on blog posts) */
.page .navigation.page-navigation,
.page nav.navigation.page-navigation,
.navigation.page-navigation {
	display: none !important;
}

/* Keep post navigation visible on single posts */
.single .navigation.post-navigation {
	display: block !important;
}

.page-header {
	text-align: center;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.page-header .page-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(2.5rem, 5vw, 3.5rem);
	line-height: 1.15;
	color: var(--color-text);
	margin: 0;
}

.page-header .archive-description {
	font-family: 'Inter', sans-serif;
	font-size: 1.2rem;
	color: var(--color-text-light);
	margin-top: 1rem;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.ml-pagination {
	margin-top: clamp(3rem, 5vw, 4rem);
	text-align: center;
}

.ml-pagination .page-numbers {
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}

.ml-pagination .page-numbers li {
	display: inline-block;
}

.ml-pagination a.page-numbers,
.ml-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0.5rem 0.75rem;
	font-family: 'Inter', sans-serif;
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--color-text);
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 0.375rem;
	text-decoration: none;
	transition: all 0.2s ease;
}

.ml-pagination a.page-numbers:hover {
	background: var(--color-primary);
	color: var(--color-white);
	border-color: var(--color-primary);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(126, 34, 206, 0.2);
}

.ml-pagination span.current {
	background: var(--color-primary);
	color: var(--color-white);
	border-color: var(--color-primary);
	font-weight: 600;
}

.ml-pagination .prev,
.ml-pagination .next {
	font-weight: 600;
}

.ml-pagination .dots {
	border: none;
	background: transparent;
	color: var(--color-text-light);
}

/* ===========================================
   FOOTER WIDGETS (Layout + logos)
   =========================================== */
.footer-widgets {
	/* Override parent mobile rule that collapses padding */
	padding: clamp(3.5rem, 6vw, 5rem) 0;
}

.footer-widgets .ml-footer-widgets {
	max-width: var(--header-max-width);
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 2rem);

	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.25rem, 3vw, 4.25rem);
	align-items: start;
	justify-content: center;
}

@media screen and (min-width: 640px) {
	.footer-widgets .ml-footer-widgets {
		grid-template-columns: repeat(2, minmax(0, 340px));
	}
}

@media screen and (min-width: 1024px) {
	.footer-widgets .ml-footer-widgets {
		grid-template-columns: repeat(3, minmax(0, 340px));
	}
}

/* Override Foundation float columns inside footer */
.footer-widgets .ml-footer-widgets > .widget.columns {
	float: none;
	width: auto;
	padding-left: 0;
	padding-right: 0;
	margin: 0;
}

/* Keep widgets clean (no colored cards) */
.footer-widgets .ml-footer-widgets > .widget {
	min-width: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	border: 0;
}

.footer-widgets .ml-footer-widgets > .widget:nth-child(even) {
	/* Neutralize parent alternating backgrounds */
	background-color: transparent;
}

.footer-widgets .ml-footer-widgets > .widget .widget-title {
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	letter-spacing: 0.01em;
	margin-bottom: 0.75rem;
}

.footer-widgets .ml-footer-widgets > .widget p {
	line-height: 1.7;
	margin-top: 0.75rem;
	font-size: 1.5rem;
}

/* Make sponsor logos/images consistent (works for text widgets and block widgets) */
.footer-widgets img {
	max-width: 100%;
	height: auto;
}

.footer-widgets .wp-block-image img,
.footer-widgets a img,
.footer-widgets .textwidget img {
	width: auto;
	max-height: 56px;
	object-fit: contain;
	vertical-align: middle;
	border-radius: 0.5rem;
	background: rgba(255, 255, 255, 0.9);
	padding: 0.35rem;
}

@media screen and (max-width: 480px) {
	.footer-widgets .wp-block-image img,
	.footer-widgets a img,
	.footer-widgets .textwidget img {
		max-height: 44px;
	}
}

/* Hide default "Proudly powered by WordPress" footer credit */
.site-footer .site-info .medium-10.small-12.columns > p {
	display: none;
}

/* ===========================================
   PAGE: CMMC Info Tools (swap green -> purple)
   =========================================== */
body.page-id-1866 {
	/* Memberlite theme tokens */
	--memberlite-color-secondary: var(--color-primary);
	--memberlite-color-borders: rgba(126, 34, 206, 0.13);

	/* Block editor palette tokens used across blocks/buttons */
	--wp--preset--color--color-secondary: var(--color-primary);
	--wp--preset--color--borders: rgba(126, 34, 206, 0.13);
}

/* Echo Knowledge Base (inline green overrides) */
:is(body.page-id-1866, body.page-id-1690) #epkb-modular-main-page-container .epkb-cat-icon,
:is(body.page-id-1866, body.page-id-1690) #epkb-modular-main-page-container [style*="#267800"] {
	color: var(--color-primary) !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-modular-main-page-container [style*="#267800"][style*="border"] {
	border-color: rgba(126, 34, 206, 0.35) !important;
}

/* Echo KB search module (button/input accents) */
:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search {
	/* Ensure module itself doesn't keep green */
	background-color: transparent !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search .epkb-ml-search-title {
	color: var(--color-text) !important;
}

/* Classic search layout (Echo KB injects high-specificity inline CSS with !important) */
:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search #epkb-ml-search-classic-layout #epkb-ml-search-form #epkb-ml-search-box {
	background-color: rgba(126, 34, 206, 0.35) !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search #epkb-ml-search-classic-layout .epkb-ml-search-box__input {
	background-color: rgba(255, 255, 255, 0.98) !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search #epkb-ml-search-classic-layout .epkb-ml-search-box__btn {
	background-color: var(--color-primary) !important;
	background-image: none !important;
	color: var(--color-white) !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search #epkb-ml-search-classic-layout .epkb-ml-search-box__btn:hover {
	background-color: var(--color-primary-dark) !important;
}

/* Modern search layout (in case layout switches) */
:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search #epkb-ml-search-modern-layout #epkb-ml-search-form #epkb-ml-search-box {
	background-color: var(--color-primary) !important;
	background-image: none !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search #epkb-ml-search-modern-layout .epkb-ml-search-box__input {
	background-color: rgba(255, 255, 255, 0.98) !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search .epkb-ml-search-box__btn .epkb-ml-search-box__text,
:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search .epkb-ml-search-box__btn .epkbfa {
	color: var(--color-white) !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search input[type="search"],
:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search input[type="text"],
:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search .epkb-ml-search-box__input {
	border-color: rgba(126, 34, 206, 0.35) !important;
}

:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search input[type="search"]:focus,
:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search input[type="text"]:focus,
:is(body.page-id-1866, body.page-id-1690) #epkb-ml__module-search .epkb-ml-search-box__input:focus {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(126, 34, 206, 0.18) !important;
	border-color: var(--color-primary) !important;
}

/* Echo KB: apply same search styling for KB templates (e.g. FAQs page) */
.eckb-kb-template #epkb-ml__module-search {
	background-color: transparent !important;
}

.eckb-kb-template #epkb-modular-main-page-container .epkb-cat-icon,
.eckb-kb-template #epkb-modular-main-page-container [style*="#267800"] {
	color: var(--color-primary) !important;
}

.eckb-kb-template > h1.eckb_main_title {
	display: none !important;
}

.eckb-kb-template #epkb-ml__module-search .epkb-ml-search-title {
	color: var(--color-text) !important;
}

.eckb-kb-template #epkb-ml__module-search #epkb-ml-search-classic-layout #epkb-ml-search-form #epkb-ml-search-box {
	background-color: rgba(126, 34, 206, 0.35) !important;
}

.eckb-kb-template #epkb-ml__module-search #epkb-ml-search-classic-layout .epkb-ml-search-box__input {
	background-color: rgba(255, 255, 255, 0.98) !important;
}

.eckb-kb-template #epkb-ml__module-search #epkb-ml-search-classic-layout .epkb-ml-search-box__btn {
	background-color: var(--color-primary) !important;
	background-image: none !important;
	color: var(--color-white) !important;
}

.eckb-kb-template #epkb-ml__module-search #epkb-ml-search-classic-layout .epkb-ml-search-box__btn:hover {
	background-color: var(--color-primary-dark) !important;
}

.eckb-kb-template #epkb-ml__module-search #epkb-ml-search-modern-layout #epkb-ml-search-form #epkb-ml-search-box {
	background-color: var(--color-primary) !important;
	background-image: none !important;
}

.eckb-kb-template #epkb-ml__module-search #epkb-ml-search-modern-layout .epkb-ml-search-box__input {
	background-color: rgba(255, 255, 255, 0.98) !important;
}

.eckb-kb-template #epkb-ml__module-search .epkb-ml-search-box__btn .epkb-ml-search-box__text,
.eckb-kb-template #epkb-ml__module-search .epkb-ml-search-box__btn .epkbfa {
	color: var(--color-white) !important;
}

.eckb-kb-template #epkb-ml__module-search input[type="search"],
.eckb-kb-template #epkb-ml__module-search input[type="text"],
.eckb-kb-template #epkb-ml__module-search .epkb-ml-search-box__input {
	border-color: rgba(126, 34, 206, 0.35) !important;
}

.eckb-kb-template #epkb-ml__module-search input[type="search"]:focus,
.eckb-kb-template #epkb-ml__module-search input[type="text"]:focus,
.eckb-kb-template #epkb-ml__module-search .epkb-ml-search-box__input:focus {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(126, 34, 206, 0.18) !important;
	border-color: var(--color-primary) !important;
}

/* Echo KB: fix categories layout collapsing into one column */
.eckb-kb-template #epkb-ml__module-categories-articles #epkb-ml-categories-layout .eckb-categories-list .epkb-ml__module-categories-articles__row {
	/* Force consistent 2-up layout (avoid centered "wave") */
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	justify-items: stretch;
	align-items: start;
	margin-bottom: 24px;
}

.eckb-kb-template #epkb-ml__module-categories-articles #epkb-ml-categories-layout .eckb-categories-list .epkb-ml__module-categories-articles__row:last-child {
	margin-bottom: 0;
}

/*
Echo KB sometimes outputs invalid markup where a <strong> wraps multiple category <section> blocks.
That makes the flex row have only one flex-item, collapsing everything into a single column.
We "unwrap" it visually using display: contents (with a grid fallback).
*/
.eckb-kb-template #epkb-ml__module-categories-articles #epkb-ml-categories-layout .eckb-categories-list .epkb-ml__module-categories-articles__row > strong {
	display: contents;
	font-weight: inherit;
}

/* Override plugin width rules (one/two/three/four-col) */
.eckb-kb-template #epkb-ml__module-categories-articles #epkb-ml-categories-layout .eckb-categories-list .epkb-top-category-box {
	width: auto !important;
	margin: 0 !important;
}

@media screen and (max-width: 640px) {
	.eckb-kb-template #epkb-ml__module-categories-articles #epkb-ml-categories-layout .eckb-categories-list .epkb-ml__module-categories-articles__row {
		grid-template-columns: 1fr;
	}
}

@supports not (display: contents) {
	.eckb-kb-template #epkb-ml__module-categories-articles #epkb-ml-categories-layout .eckb-categories-list .epkb-ml__module-categories-articles__row > strong {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	@media screen and (max-width: 1024px) {
		.eckb-kb-template #epkb-ml__module-categories-articles #epkb-ml-categories-layout .eckb-categories-list .epkb-ml__module-categories-articles__row > strong {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}

	@media screen and (max-width: 640px) {
		.eckb-kb-template #epkb-ml__module-categories-articles #epkb-ml-categories-layout .eckb-categories-list .epkb-ml__module-categories-articles__row > strong {
			grid-template-columns: 1fr;
		}
	}
}

/* ===========================================
   MEMBERPRESS: Pricing box accents - MODERN DESIGN
   =========================================== */
body.page-id-1499 .mepr-price-menu {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	padding: 2rem 0 !important;
}

body.page-id-1499 .mepr-price-boxes {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
}

body.page-id-1499 #mepr-price-box-1382.mepr-price-box {
	background: linear-gradient(135deg, #7E22CE 0%, #9333EA 100%) !important;
	border: none !important;
	border-radius: 20px !important;
	padding: 3rem 2.5rem !important;
	box-shadow: 0 20px 60px rgba(126, 34, 206, 0.4) !important;
	max-width: 600px !important;
	margin: 0 auto !important;
	width: 100% !important;
}

body.page-id-1499 #mepr-price-box-1382 * {
	color: var(--color-white) !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-head {
	text-align: center !important;
	padding-bottom: 2rem !important;
	margin-bottom: 2rem !important;
	border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-title {
	font-size: 2rem !important;
	font-weight: 600 !important;
	margin-bottom: 1rem !important;
	font-family: 'Inter', sans-serif !important;
	letter-spacing: 0.5px !important;
	text-transform: uppercase !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-price {
	font-size: 4rem !important;
	font-weight: 800 !important;
	margin: 0 !important;
	font-family: 'Inter', sans-serif !important;
	text-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-benefits {
	padding: 2rem 0 !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-benefits-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-benefits-item {
	padding: 1.25rem 1.75rem !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border-radius: 10px !important;
	font-size: 1.4rem !important;
	line-height: 1.6 !important;
	border: none !important;
	backdrop-filter: blur(10px) !important;
	transition: all 0.3s ease !important;
	position: relative !important;
	padding-left: 3.5rem !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-benefits-item:hover {
	background: rgba(255, 255, 255, 0.15) !important;
	transform: translateX(5px) !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-benefits-item::before {
	content: "✓" !important;
	position: absolute !important;
	left: 1rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-size: 1.5rem !important;
	font-weight: bold !important;
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.2) !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-foot {
	text-align: center !important;
	padding-top: 2rem !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-button a {
	background: var(--color-white) !important;
	color: var(--color-primary) !important;
	padding: 1.2rem 3rem !important;
	border-radius: 12px !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	transition: all 0.3s ease !important;
	border: none !important;
	display: inline-block !important;
	text-decoration: none !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
}

body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-button a:hover {
	background: #f0f0f0 !important;
	color: var(--color-primary) !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3) !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	body.page-id-1499 #mepr-price-box-1382.mepr-price-box {
		padding: 2rem 1.5rem !important;
	}
	
	body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-price {
		font-size: 3rem !important;
	}
	
	body.page-id-1499 #mepr-price-box-1382 .mepr-price-box-benefits-item {
		font-size: 1rem !important;
		padding-left: 2.5rem !important;
	}
}

/* ===========================================
   COURSES ARCHIVE - Modern Redesign
   =========================================== */

/* Hide sidebar on courses archive */
.post-type-archive-mpcs-course #primary.content-area,
.post-type-archive-mpcs-course .content-area {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
}

.post-type-archive-mpcs-course #secondary,
.post-type-archive-mpcs-course .widget-area {
	display: none !important;
}

/* Course archive header */
.post-type-archive-mpcs-course .page-header,
.post-type-archive-mpcs-course .mpcs-course-filters {
	max-width: var(--content-max-width);
	margin: 0 auto 3rem auto;
	padding: 0 2rem;
}

/* Modern course grid */
.post-type-archive-mpcs-course .mpcs-course-list {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
	gap: 2rem !important;
	max-width: var(--content-max-width);
	margin: 0 auto !important;
	padding: 0 2rem !important;
	list-style: none !important;
}

/* Modern course card */
.post-type-archive-mpcs-course .mpcs-course-item {
	background: var(--color-white) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.3s ease !important;
	display: flex !important;
	flex-direction: column !important;
	border: 1px solid rgba(126, 34, 206, 0.1) !important;
}

.post-type-archive-mpcs-course .mpcs-course-item:hover {
	transform: translateY(-8px) !important;
	box-shadow: 0 12px 40px rgba(126, 34, 206, 0.15) !important;
	border-color: var(--color-primary) !important;
}

/* Course image */
.post-type-archive-mpcs-course .mpcs-course-item img {
	width: 100% !important;
	height: 220px !important;
	object-fit: cover !important;
	transition: transform 0.3s ease !important;
}

.post-type-archive-mpcs-course .mpcs-course-item:hover img {
	transform: scale(1.05) !important;
}

/* Course content */
.post-type-archive-mpcs-course .mpcs-course-item .mpcs-course-content {
	padding: 1.75rem !important;
	flex-grow: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* Course title */
.post-type-archive-mpcs-course .mpcs-course-item h3,
.post-type-archive-mpcs-course .mpcs-course-item .mpcs-course-title {
	font-family: 'Inter', sans-serif !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--color-text) !important;
	margin: 0 0 1rem 0 !important;
}

.post-type-archive-mpcs-course .mpcs-course-item h3 a,
.post-type-archive-mpcs-course .mpcs-course-item .mpcs-course-title a {
	color: var(--color-text) !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.post-type-archive-mpcs-course .mpcs-course-item:hover h3 a,
.post-type-archive-mpcs-course .mpcs-course-item:hover .mpcs-course-title a {
	color: var(--color-primary) !important;
}

/* Course excerpt/description */
.post-type-archive-mpcs-course .mpcs-course-item .mpcs-course-excerpt,
.post-type-archive-mpcs-course .mpcs-course-item p {
	font-size: 1.1rem !important;
	line-height: 1.6 !important;
	color: var(--color-text-light) !important;
	margin-bottom: 1.5rem !important;
	flex-grow: 1 !important;
}

/* Course meta (author) */
.post-type-archive-mpcs-course .mpcs-course-item .mpcs-course-author {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	font-size: 0.95rem !important;
	color: var(--color-text-light) !important;
	padding-top: 1rem !important;
	border-top: 1px solid var(--color-border) !important;
}

.post-type-archive-mpcs-course .mpcs-course-item .mpcs-course-author img {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
}

/* Course filters styling */
.post-type-archive-mpcs-course .mpcs-course-filters {
	background: var(--color-white);
	padding: 2rem;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	margin-bottom: 3rem;
}

.post-type-archive-mpcs-course .mpcs-course-filters select,
.post-type-archive-mpcs-course .mpcs-course-filters input[type="text"] {
	font-size: 1.1rem !important;
	padding: 0.75rem 1rem !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 8px !important;
	transition: all 0.2s ease !important;
}

.post-type-archive-mpcs-course .mpcs-course-filters select:focus,
.post-type-archive-mpcs-course .mpcs-course-filters input[type="text"]:focus {
	border-color: var(--color-primary) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(126, 34, 206, 0.1) !important;
}

.post-type-archive-mpcs-course .mpcs-course-filters button {
	background: var(--color-primary) !important;
	color: var(--color-white) !important;
	padding: 0.75rem 2rem !important;
	border: none !important;
	border-radius: 8px !important;
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.post-type-archive-mpcs-course .mpcs-course-filters button:hover {
	background: var(--color-primary-dark) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(126, 34, 206, 0.3) !important;
}

/* Responsive */
@media (max-width: 768px) {
	.post-type-archive-mpcs-course .mpcs-course-list {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}
}
body.home .entry-content nav.navigation.page-navigation {
	display: none !important;
}

.footer-widgets h3 {
 font-size: 1.7rem;
}

#epkb-ml__module-articles-list #epkb-ml-article-list-basic-layout .epkb-ml-article-section {
	border-radius: 15px!important;
}

/* Align Knowledge Base cards to same height */
#epkb-ml__module-categories-articles #epkb-ml-basic-layout .eckb-categories-list .epkb-ml__module-categories-articles__row {
	display: flex !important;
align-items: stretch !important;
}

#epkb-ml__module-categories-articles #epkb-ml-basic-layout .eckb-categories-list .epkb-ml__module-categories-articles__row > div {
	display: flex !important;
	flex-direction: column !important;
}

#epkb-ml__module-categories-articles #epkb-ml-basic-layout .eckb-article-cat-box {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

#epkb-ml__module-categories-articles #epkb-ml-basic-layout .eckb-article-cat-box__body-content {
	flex-grow: 1 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* Reduce icon size to 70% */
#epkb-ml__module-categories-articles #epkb-ml-basic-layout .section-head .epkb-category--left-cat-icon .epkb-cat-icon {
	font-size: 33px !important;
	padding-right: 5px !important;
}


#eckb-article-header #epkb-ml__module-search {
	background-color: unset!important;
}

#eckb-article-page-container-v2 #eckb-article-body {
	grid-template-columns: 0 100% 0!important;
}