/*
Theme Name: DRAA Custom Theme
Theme URI: https://digitalrightsalliance.africa/
Description: Standalone custom DRAA theme.
Author: Site Admin
Version: 1.0.0
Text Domain: draa-custom-theme
*/

.main-footer .footer-logo figure {
	margin: 0;
	width: 220px;
	height: 72px;
	display: flex;
	align-items: center;
}

.main-footer .footer-logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	max-height: 100%;
}

.main-footer .footer-logo img,
.main-footer .footer-logo .custom-logo {
	width: 220px;
	height: 72px;
	max-width: 220px;
	max-height: 72px;
	object-fit: contain;
	object-position: left center;
}

@media (max-width: 575.98px) {
	.main-footer .footer-logo figure,
	.main-footer .footer-logo img,
	.main-footer .footer-logo .custom-logo {
		width: 180px;
		height: 60px;
		max-width: 180px;
		max-height: 60px;
	}
}

/* Footer alignment fixes */
.main-footer .posts-widget {
	position: relative;
	margin-left: 40px;
	padding-right: 30px;
}

.main-footer .posts-widget .post {
	position: relative;
	min-height: 75px;
	padding-left: 110px;
	margin-bottom: 30px;
}

.main-footer .posts-widget .post:last-child {
	margin-bottom: 0px;
}

.main-footer .posts-widget .post .post-thumb {
	position: absolute;
	left: 0px;
	top: 0px;
	height: 75px;
	width: 85px;
	overflow: hidden;
}

.main-footer .posts-widget .post .post-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.main-footer .posts-widget .post .desc-text {
	position: relative;
	color: #fff;
	display: block;
}

.main-footer .posts-widget .post .desc-text a {
	position: relative;
	display: inline-block;
	color: #fff;
	line-height: 20px;
	font-size: 16px;
	text-decoration: none;
}

.main-footer .posts-widget .post .desc-text a:hover {
	color: #ffffff;
}

.main-footer .posts-widget .post .time {
	position: relative;
	display: inline-block;
	color: #3E499B;
	font-size: 16px;
	font-weight: 600;
	line-height: normal;
	margin-top: 8px;
}

.main-footer .contact-info-list li {
	position: relative;
	display: block;
	font-size: 15px;
	padding-left: 30px;
	color: #fff;
	margin-bottom: 15px;
}

.main-footer .contact-info-list li i {
	position: absolute;
	left: 0px;
	top: 0px;
	color: #3E499B;
	font-size: 16px;
}

.main-footer .contact-info-list li a {
	color: #fff;
	text-decoration: none;
}

.main-footer .contact-info-list li a:hover {
	color: #3E499B;
}

/* Prevent horizontal scrollbar globally */
html, body {
	overflow-x: hidden;
	max-width: 100vw;
}

/* Two-image section fixes (Vision/Mission) */
.two-img,
.two-img2 {
	overflow: visible; /* Allow overlap effect to show */
	position: relative;
}

/* Prevent body scrollbar from negative positioned elements */
.bg-img2 + .two-img2,
.bg-img2 + .container.two-img2 {
	margin-top: 0;
}

/* Ensure parent clips internal overflow properly */
.two-img2 .hover-css {
	overflow: hidden;
}

.two-img2 .position-relative {
	overflow: visible;
}

/* Right image container - fix gap with purple bar */
.img-2 {
	position: relative;
	width: 100%;
	display: block;
	line-height: 0; /* Remove gap below image */
	padding: 0 !important;
	margin: 0 !important;
}

.img-2 img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 !important;
	padding: 0 !important;
}

.img-2 .phone-n {
	position: absolute;
	right: 0 !important;
	top: 0 !important;
	bottom: 0;
	height: 100% !important;
	width: 63px;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

/* Fix the right column padding that causes gap */
.two-img2 .col-lg-6.hover-css:last-child {
	padding-right: 15px;
}

.two-img2 .col-lg-6.hover-css:last-child .img-2 {
	margin-right: 0 !important;
}

/* Mobile footer layout - modern flexbox approach */
@media (max-width: 767px) {
	/* Recent Posts - vertical stack layout */
	.main-footer .posts-widget {
		margin-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.main-footer .posts-widget .post {
		display: flex !important;
		flex-direction: column !important;
		position: static !important;
		min-height: auto !important;
		padding-left: 0 !important;
		margin-bottom: 18px !important;
		padding-bottom: 18px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	
	.main-footer .posts-widget .post:last-child {
		border-bottom: none !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	
	.main-footer .posts-widget .post .post-thumb {
		position: static !important;
		left: auto !important;
		top: auto !important;
		width: 85px !important;
		height: 75px !important;
		max-width: none;
		aspect-ratio: auto;
		margin: 0 !important;
		margin-bottom: 8px !important;
		border-radius: 4px;
	}
	
	.main-footer .posts-widget .post .post-thumb img {
		border-radius: 4px;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
	
	.main-footer .posts-widget .post .desc-text {
		position: static !important;
		margin: 0 !important;
		margin-bottom: 4px !important;
	}
	
	.main-footer .posts-widget .post .desc-text a {
		position: static !important;
		font-size: 14px !important;
		line-height: 1.3 !important;
	}
	
	.main-footer .posts-widget .post .time {
		position: static !important;
		font-size: 12px !important;
		margin: 0 !important;
	}
	
	/* Contact Info - flexbox row layout */
	.main-footer .contact-info-list li {
		display: flex !important;
		align-items: flex-start !important;
		gap: 12px !important;
		padding-left: 0 !important;
		margin-bottom: 16px !important;
		position: static !important;
	}
	
	.main-footer .contact-info-list li i {
		position: static !important;
		left: auto !important;
		top: auto !important;
		flex-shrink: 0;
		width: 20px;
		text-align: center;
		margin-top: 2px;
	}
	
	.main-footer .contact-info-list li a {
		word-break: break-word;
	}
}
/* End footer alignment fixes */

/* ========================================
   Mobile Responsiveness Fixes
   ======================================== */

/* Begin mobile navbar/responsive fixes */

/* Prevent horizontal overflow on mobile */
html, body {
	max-width: 100%;
	overflow-x: hidden;
}

/* Mobile navbar container fixes */
@media (max-width: 991.98px) {
	/* Fix navbar collapse positioning */
	#mainNav .navbar-collapse {
		position: relative;
		width: 100%;
		left: 0 !important;
		right: 0 !important;
		margin: 0;
		padding: 0;
		background: #fff;
		z-index: 1000;
	}
	
	/* Fix mobile menu to stay within viewport */
	#mainNav .navbar-nav {
		width: 100%;
		margin: 0 !important;
		padding: 10px 0;
		background: #fff;
	}
	
	/* Ensure nav items are full width on mobile */
	#mainNav .nav-item {
		width: 100%;
		text-align: left;
		border-bottom: 1px solid #f0f0f0;
	}
	
	#mainNav .nav-link {
		padding: 12px 20px !important;
		display: block;
		width: 100%;
	}
	
	/* Fix mobile logo and toggler positioning */
	.only-on-mobile {
		display: inline-block !important;
		float: left !important;
		width: auto !important;
		margin: 0;
		text-align: left !important;
		padding: 10px 0;
	}
	
	#mainNav .navbar-toggler {
		float: right !important;
		display: block;
		margin: 10px 0 !important;
		width: auto;
		position: relative;
		background: rgba(62, 73, 155, 0.1);
		border: 1px solid rgba(62, 73, 155, 0.3);
	}
	
	#mainNav .navbar-toggler:focus {
		box-shadow: 0 0 0 0.2rem rgba(62, 73, 155, 0.25);
	}
	
	/* Flexbox layout for mobile header - logo left, toggler right */
	#mainNav .dis-inlin {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		overflow: visible;
	}

	#mainNav .navbar-collapse,
	#mainNav .navbar-nav,
	#mainNav .nav-item,
	#mainNav .dropdown-menu {
		overflow: visible !important;
	}

	#mainNav .navbar-collapse.show {
		overflow-y: visible !important;
	}
	
	/* Make the collapse appear on its own row */
	#mainNav .navbar-collapse {
		flex-basis: 100%;
	}
	
	/* Fix container fluid on mobile */
	#mainNav .container-fluid {
		padding-left: 15px;
		padding-right: 15px;
		max-width: 100%;
	}
	
	#mainNav .container {
		max-width: 100%;
		padding: 0;
	}
	
	/* Hide desktop logo on mobile */
	.mobile-2 {
		display: none !important;
	}
}

/* Extra small devices (phones, less than 576px) */
@media (max-width: 575.98px) {
	/* Extra compact sections on small phones */
	section {
		padding: 30px 0 !important;
	}
	
	/* Extra compact headings */
	h1 {
		font-size: 24px !important;
	}
	
	h2 {
		font-size: 20px !important;
	}
	
	h3 {
		font-size: 18px !important;
	}
	
	/* Extra compact text */
	p, .text {
		font-size: 13px !important;
	}
	
	/* Extra compact spacing */
	[class*="col-"] {
		padding-left: 10px !important;
		padding-right: 10px !important;
		margin-bottom: 15px;
	}
	
	.container {
		padding-left: 12px;
		padding-right: 12px;
	}
	
	/* Mobile logo compact */
	.only-on-mobile .navbar-brand img {
		max-width: 160px;
		height: auto;
	}
	
	/* Compact footer sections on mobile */
	.main-footer .widgets-section .row > div {
		margin-bottom: 20px;
	}
	
	.main-footer .footer-widget {
		padding: 0 10px;
	}
	
	/* Make footer text more compact */
	.main-footer .widget-content .text {
		font-size: 12px;
		line-height: 1.5;
	}
	
	/* Reduce footer padding on mobile */
	.main-footer {
		padding-top: 25px;
	}
	
	.main-footer .widgets-section {
		padding-bottom: 15px;
	}
	
	/* Compact buttons extra small */
	.btn, .theme-btn, button[type="submit"] {
		padding: 8px 16px !important;
		font-size: 13px !important;
	}
	
	/* Extra compact blog elements */
	.blog-post, .post-item {
		padding: 12px !important;
	}
	
	.post-title {
		font-size: 16px !important;
	}
	
	/* Compact breadcrumbs */
	.breadcrumbs__section {
		padding: 20px 0 !important;
	}
	
	.breadcrumbs__section h1,
	.breadcrumbs__section .page-title {
		font-size: 22px !important;
	}
	
	/* Compact tables on mobile */
	table {
		font-size: 12px !important;
	}
	
	table td, table th {
		padding: 6px !important;
	}
	
	/* Compact figures and images */
	figure {
		margin: 10px 0 !important;
	}
	
	figcaption {
		font-size: 12px !important;
		padding: 5px 0;
	}
}

/* End mobile navbar/responsive fixes */

/* Desktop submenu overflow fix */
@media (min-width: 992px) {
	#mainNav,
	#mainNav .container,
	#mainNav .container-fluid,
	#mainNav .dis-inlin,
	#mainNav .navbar-collapse,
	#mainNav .navbar-nav,
	#mainNav .nav-item {
		overflow: visible !important;
	}

	#mainNav .dropdown-menu {
		max-height: none !important;
		overflow: visible !important;
		overflow-y: visible !important;
		z-index: 1100;
	}
}
/* End desktop submenu overflow fix */

/* ========================================
   Medium devices (tablets, 576px to 768px)
   ======================================== */
@media (min-width: 576px) and (max-width: 767.98px) {
	section {
		padding: 45px 0 !important;
	}
	
	h1 {
		font-size: 30px !important;
	}
	
	h2 {
		font-size: 26px !important;
	}
	
	.container {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.only-on-mobile .navbar-brand img {
		max-width: 180px;
	}
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
	/* Ensure top bar is hidden properly */
	.top-bar {
		display: none !important;
	}
	
	/* Adjust navbar padding */
	#mainNav {
		padding: 0 !important;
	}
	
	/* Make sure dropdown menus work on mobile */
	#mainNav .dropdown-menu {
		position: static !important;
		float: none;
		width: 100%;
		margin: 0;
		border: none;
		box-shadow: none;
		padding-left: 20px;
		max-height: none !important;
		overflow: visible !important;
	}
	
	#mainNav .dropdown-item {
		padding: 8px 15px;
		white-space: normal;
	}
}

/* ========================================
   Content Width & Overflow Fixes
   ======================================== */

/* Ensure all images are responsive */
img {
	max-width: 100%;
	height: auto;
}

/* Fix for rows and containers causing overflow */
.row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.container, .container-fluid {
	max-width: 100%;
	overflow-x: hidden;
}

/* Fix sections that might overflow */
section {
	overflow-x: hidden;
}

/* ========================================
   Mobile Compact Appearance - All Sections
   ======================================== */

/* Base mobile styles for all devices < 768px */
@media (max-width: 767.98px) {
	/* Reduce section padding */
	section {
		padding: 40px 0 !important;
	}
	
	section.subscribe-section {
		padding: 30px 0 !important;
	}
	
	/* Compact headings */
	h1 {
		font-size: 28px !important;
		line-height: 1.3 !important;
		margin-bottom: 15px !important;
	}
	
	h2 {
		font-size: 24px !important;
		line-height: 1.3 !important;
		margin-bottom: 12px !important;
	}
	
	h3 {
		font-size: 20px !important;
		line-height: 1.3 !important;
		margin-bottom: 10px !important;
	}
	
	h4, h5, h6 {
		font-size: 18px !important;
		line-height: 1.3 !important;
		margin-bottom: 8px !important;
	}
	
	/* Compact paragraphs and text */
	p, .text {
		font-size: 14px !important;
		line-height: 1.6 !important;
		margin-bottom: 12px !important;
	}
	
	/* Reduce column spacing */
	[class*="col-"] {
		padding-left: 12px !important;
		padding-right: 12px !important;
		margin-bottom: 20px;
	}
	
	/* Compact buttons */
	.btn, .theme-btn, button[type="submit"] {
		padding: 10px 20px !important;
		font-size: 14px !important;
	}
	
	/* Compact forms */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea,
	.form-control {
		font-size: 14px !important;
		padding: 10px 12px !important;
		margin-bottom: 12px;
	}
	
	/* Compact cards and widgets */
	.card, .widget, .footer-widget {
		margin-bottom: 20px !important;
	}
	
	.card-body, .widget-content {
		padding: 15px !important;
	}
	
	/* Compact lists */
	ul, ol {
		padding-left: 20px;
		margin-bottom: 15px;
	}
	
	li {
		margin-bottom: 8px;
		padding: 5px 0;
	}
	
	/* Compact spacing utilities */
	.mb-5, .my-5 {
		margin-bottom: 20px !important;
	}
	
	.mt-5 {
		margin-top: 20px !important;
	}
	
	.pb-5, .py-5 {
		padding-bottom: 20px !important;
	}
	
	.pt-5 {
		padding-top: 20px !important;
	}
	
	/* Hero/Banner sections compact */
	.hero-section, .banner-section, .breadcrumbs__section {
		padding: 30px 0 !important;
		min-height: auto !important;
	}
	
	.hero-section h1, .banner-section h1 {
		font-size: 26px !important;
	}
	
	/* Blog post compact */
	.blog-post, .post-item, .post {
		margin-bottom: 20px !important;
		padding: 15px !important;
	}
	
	.post-thumb, .post-image {
		margin-bottom: 12px !important;
	}
	
	.post-title {
		font-size: 18px !important;
		margin-bottom: 8px !important;
	}
	
	.post-meta, .post-date, .time {
		font-size: 12px !important;
		margin-bottom: 8px;
	}
	
	/* Sidebar compact */
	.sidebar, .blog-sidebar {
		margin-top: 30px;
		padding: 15px !important;
	}
	
	.sidebar .widget {
		padding: 15px !important;
		margin-bottom: 20px !important;
	}
	
	/* Gallery/Grid compact */
	.gallery-item, .grid-item {
		margin-bottom: 15px !important;
	}
	
	/* Events/Causes compact */
	.event-item, .cause-item {
		margin-bottom: 20px !important;
		padding: 15px !important;
	}
	
	/* Team members compact */
	.team-member, .volunteer-item {
		margin-bottom: 20px !important;
	}
	
	/* Compact social icons */
	.social-icon-three li,
	.social-links li {
		margin: 0 5px !important;
	}
	
	.social-icon-three a,
	.social-links a {
		width: 35px !important;
		height: 35px !important;
		font-size: 14px !important;
		line-height: 35px !important;
	}
}

/* Ensure subscribe section is responsive */
@media (max-width: 767.98px) {
	.subscribe-section {
		padding: 30px 15px !important;
	}
	
	.subscribe-section .title-column,
	.subscribe-section .subscribe-form {
		text-align: center;
		margin-bottom: 15px;
		padding: 0 10px !important;
	}
	
	.subscribe-section h2 {
		font-size: 22px !important;
		margin-bottom: 10px !important;
	}
	
	.subscribe-section .text {
		font-size: 13px !important;
		margin-bottom: 15px !important;
	}
	
	.subscribe-section .form-group {
		max-width: 100% !important;
	}
	
	.subscribe-section input[type="email"] {
		width: 100% !important;
		padding: 10px 12px !important;
		font-size: 14px !important;
	}
}

/* Compact Footer Sections */
@media (max-width: 767.98px) {
	/* Main footer compact */
	.main-footer {
		padding-top: 30px !important;
		padding-bottom: 0 !important;
	}
	
	.main-footer .widgets-section {
		padding-bottom: 20px !important;
	}
	
	.main-footer .footer-column {
		margin-bottom: 25px !important;
		padding: 0 10px !important;
	}
	
	.main-footer .footer-widget {
		padding: 0 !important;
	}
	
	/* Footer headings compact */
	.main-footer .widget-title {
		font-size: 18px !important;
		margin-bottom: 12px !important;
		padding-bottom: 8px !important;
	}
	
	/* Footer text compact */
	.main-footer .widget-content .text {
		font-size: 13px !important;
		line-height: 1.6 !important;
		margin-bottom: 12px !important;
		text-align: justify;
	}
	
	/* Footer links compact */
	.main-footer .list li,
	.main-footer .contact-info-list li {
		font-size: 13px !important;
		padding: 5px 0 !important;
		margin-bottom: 5px !important;
	}
	
	/* Footer posts compact */
	.main-footer .posts .post {
		margin-bottom: 15px !important;
		padding-bottom: 15px !important;
	}
	
	.main-footer .post-thumb {
		width: 60px !important;
		height: 60px !important;
		margin-right: 10px !important;
	}
	
	.main-footer .post-thumb img {
		width: 60px !important;
		height: 60px !important;
	}
	
	.main-footer .desc-text {
		font-size: 13px !important;
		line-height: 1.4 !important;
		margin-bottom: 5px !important;
	}
	
	.main-footer .time {
		font-size: 11px !important;
	}
	
	/* Footer bottom compact */
	.main-footer .footer-bottom {
		padding: 15px 0 !important;
		text-align: center !important;
	}
	
	.main-footer .footer-bottom .float-md-start,
	.main-footer .footer-bottom .float-md-end {
		float: none !important;
		text-align: center !important;
		margin-bottom: 10px;
	}
	
	.main-footer .footer-bottom ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding: 0;
		margin: 0;
	}
	
	.main-footer .footer-bottom ul li {
		display: inline-block;
		padding: 0 8px !important;
		font-size: 12px !important;
	}
	
	.main-footer .copyright-text p {
		font-size: 12px !important;
		margin-bottom: 10px !important;
	}
}

/* Fix breadcrumbs and hero sections on mobile */
@media (max-width: 767.98px) {
	.breadcrumbs__section,
	.hero-section {
		width: 100%;
		overflow-x: hidden;
	}
	
	.breadcrumbs__section .container {
		padding: 0 15px;
	}
}

/* ========================================
   Events Grid View Styles
   ======================================== */
.events-grid-view .content-side {
	display: flex;
	flex-wrap: wrap;
}

.event-date-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #3E499B;
	color: #fff;
	padding: 8px 12px;
	border-radius: 5px;
	text-align: center;
	line-height: 1.2;
	z-index: 10;
}

.event-date-badge .day {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
}

.event-date-badge .month {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.events-grid-view .event-meta {
	text-align: left;
	line-height: 1.8;
}

.events-grid-view .causes-img-container {
	height: 200px;
	overflow: hidden;
}

.events-grid-view .causes-img-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.view-grid .btn.active {
	background: #3E499B !important;
	border-color: #3E499B !important;
	color: #fff !important;
}

.view-grid .btn {
	text-decoration: none;
}

/* ===========================================
   Mobile Navbar Dropdown Fix
   Ensures dropdown menus are visible on all pages
   =========================================== */
@media (max-width: 991px) {
    /* Mobile collapsed navbar background */
    #mainNav .navbar-collapse {
        background: #000 !important;
        padding: 0;
        max-height: 80vh;
        overflow-y: auto;
    }
    
    /* Dropdown menu styling for mobile */
    #mainNav .dropdown-menu {
        background: #1a1a1a !important;
        border: none;
        border-radius: 0;
        padding: 0;
        margin: 0;
        position: static !important;
        float: none;
        width: 100%;
        box-shadow: none;
    }
    
    /* Dropdown items on mobile */
    #mainNav .dropdown-menu .dropdown-item,
    #mainNav .dropdown-menu a {
        color: #fff !important;
        background: #1a1a1a !important;
        padding: 10px 25px;
        border-top: 1px solid #333;
        font-size: 14px;
    }
    
    #mainNav .dropdown-menu .dropdown-item:hover,
    #mainNav .dropdown-menu a:hover {
        background: #3E499B !important;
        color: #fff !important;
    }
    
    /* Dropdown toggle arrow */
    #mainNav .dropdown-toggle::after {
        float: right;
        margin-top: 8px;
    }
    
    /* Show dropdown on click (Bootstrap handles this) */
    #mainNav .dropdown-menu.show {
        display: block !important;
    }
    
    /* Nav link base for mobile */
    #mainNav .navbar-nav .nav-link {
        color: #fff !important;
        background: #000 !important;
        padding: 12px 15px !important;
        border-top: 1px solid #333;
    }
    
    #mainNav .navbar-nav .nav-link:hover,
    #mainNav .navbar-nav .nav-link:focus {
        background: #3E499B !important;
        color: #fff !important;
    }
    
    /* Fix for nested sub-menus if any */
    #mainNav .dropdown-menu .dropdown-menu {
        background: #252525 !important;
    }
    
    #mainNav .dropdown-menu .dropdown-menu .dropdown-item {
        padding-left: 35px;
    }
}

/* ===========================================
   Navbar Z-Index Fix for Pages with Iframes
   Ensures navbar stays clickable above all content
   =========================================== */
#mainNav {
    z-index: 9999 !important;
    position: fixed !important;
}

#mainNav .navbar-collapse {
    z-index: 9998 !important;
    position: relative;
}

#mainNav .navbar-collapse.show,
#mainNav .navbar-collapse.collapsing {
    z-index: 9999 !important;
}

#mainNav .dropdown-menu {
    z-index: 10000 !important;
}

/* Ensure navbar items are clickable */
#mainNav,
#mainNav * {
    pointer-events: auto !important;
}

/* Lower z-index for external content wrappers */
.external-content-wrapper,
.iframe-scroll-wrapper,
.external-iframe {
    z-index: 1 !important;
    position: relative;
}

/* ========================================
   Plugin Pages Text Visibility Fixes
   (Download Manager, WooCommerce, etc.)
   ======================================== */

/* General content area - ensure dark text on light background */
.entry-content,
.page-content,
.post-content,
article .content,
.wpdm-wrapper,
.wpdm-content,
.wpdm-package,
.w3eden,
[class*="wpdm-"],
[class*="download-"] {
    color: #333 !important;
    background-color: transparent;
}

/* Download Manager specific fixes */
.w3eden .card,
.w3eden .panel,
.w3eden .list-group-item,
.wpdm-download-link,
.wpdm-download-info,
.wpdm-package-info,
.wpdm-file-entry {
    color: #333 !important;
    background-color: #fff !important;
}

.w3eden h1, .w3eden h2, .w3eden h3, 
.w3eden h4, .w3eden h5, .w3eden h6,
.wpdm-wrapper h1, .wpdm-wrapper h2, .wpdm-wrapper h3,
.wpdm-wrapper h4, .wpdm-wrapper h5, .wpdm-wrapper h6 {
    color: #1f2a44 !important;
}

.w3eden p, .w3eden span, .w3eden div,
.w3eden td, .w3eden th, .w3eden li,
.wpdm-wrapper p, .wpdm-wrapper span {
    color: #333 !important;
}

.w3eden a,
.wpdm-wrapper a {
    color: #3E499B !important;
}

.w3eden a:hover,
.wpdm-wrapper a:hover {
    color: #229CD8 !important;
}

/* Download buttons */
.w3eden .btn,
.wpdm-download-link a,
.wpdm-download-button,
[class*="wpdm"] .btn {
    color: #fff !important;
    background-color: #3E499B !important;
    border-color: #3E499B !important;
}

.w3eden .btn:hover,
.wpdm-download-link a:hover,
.wpdm-download-button:hover {
    background-color: #2d366f !important;
    border-color: #2d366f !important;
}

/* Tables in Download Manager */
.w3eden table,
.wpdm-wrapper table {
    color: #333 !important;
    background: #fff !important;
}

.w3eden table th,
.wpdm-wrapper table th {
    background: #f8f9fa !important;
    color: #1f2a44 !important;
}

.w3eden table td,
.wpdm-wrapper table td {
    color: #333 !important;
}

/* Fix for any white text inherited from theme */
body:not(#page-top) .container,
body:not(#page-top) .content-area,
body:not(#page-top) main {
    color: #333;
}

/* Ensure form inputs are readable */
.w3eden input,
.w3eden textarea,
.w3eden select,
.wpdm-wrapper input,
.wpdm-wrapper textarea {
    color: #333 !important;
    background-color: #fff !important;
    border: 1px solid #ddd !important;
}

/* Labels and form text */
.w3eden label,
.wpdm-wrapper label {
    color: #333 !important;
}

/* Alert/notice boxes */
.w3eden .alert,
.wpdm-wrapper .alert {
    color: #333 !important;
}

/* Pagination in Download Manager */
.w3eden .pagination .page-link,
.wpdm-wrapper .pagination a {
    color: #3E499B !important;
    background: #fff !important;
}

.w3eden .pagination .page-item.active .page-link {
    background: #3E499B !important;
    color: #fff !important;
}

