/*
Theme Name: Charifund
Theme URI: http://wowtheme7.com/wp/charifund/
Author: Wowtheme7
Author URI: https://themeforest.net/user/wowtheme7
Description: Charifund - Charity WordPress Theme developed specifically for all types of charity, donation.
Version: 2.1.5
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: charifund
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
Tested up to: 6.6
Requires PHP:7.1

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

0Charifund is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
:root {
  --main-color-one: #046a58;
  --heading-color: #122f2a;
  --paragraph-color: #667471;
  --animate-delay: 0.3s;
  --secondary-colorx: #122f2a;
  --main-color2: #6b5103;
  --border-color1: inherit;
  --border-color1: #e0e0e0;
}


/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.padding-120 {
  padding: 120px 0;
}
.padding-top-120 {
  padding-top: 120px;
} 
.padding-bottom-120 {
  padding-bottom: 120px;
}
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.image-popover {
	animation: pulse 4s infinite
}
.top-image-bounce {
    animation: moveTopBottom 9s infinite ease-in-out;
}
.left-image-bounce {
    animation: moveLeftRight 7s infinite ease-in-out;
}
.border-radius-40 {
	border-radius: 40px;
}
.color-black {
	color: #232222 !important;
}

.wp-caption-text {
  text-align: center;
}

.new-menu {
	position: relative;
}

@media all and (min-width: 992px){
	.new-menu::after {
		content: 'New';
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		background-color: #ffc107;
		line-height: 1;
		color: #100c00;
		padding: 6px 8px 5px;
		font-size: 13px;
		font-weight: 700;
	}
	.nav-short-menu .navbar__sub-menu {
		min-width: 850px;
        display: inline-block;
        line-height: 1;
	}
	.nav-short-menu .navbar__sub-menu li {
		display: inline-block;
        width: 31.5%;
        margin-right: 10px;
	}
}

/* Hide text visually but make it available to screen readers */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gallery-caption {
	display: block;
}

/* Align an element to the right */
.alignright {
  float: right;
  margin: 0 0 1em 1em; /* Adjust margin as needed */
}

/* Align an element to the left */
.alignleft {
  float: left;
  margin: 0 1em 1em 0; /* Adjust margin as needed */
}

/* Center an element */
.aligncenter {
  display: block;
  margin: 0 auto; /* Center horizontally */
}


.tt-catepalize {
  text-transform: capitalize;
}
.fw-700 {
	font-weight: 700;
}
.single-pricing-inner h6 {
    padding: 5px 12px 3px;
	font-size: 14px;
}

.preloader-inner {
  z-index: 999999;
}
.preloader-inner .pl {
  display: block;
  margin: auto;
  width: 16em;
  height: auto;
}
.preloader-inner .pl line {
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.preloader-inner .pl__line1,
.preloader-inner .pl__line9 {
  animation-name: line1;
}
.preloader-inner .pl__line2,
.preloader-inner .pl__line8 {
  animation-name: line2;
}
.preloader-inner .pl__line3,
.preloader-inner .pl__line7 {
  animation-name: line3;
}
.preloader-inner .pl__line4,
.preloader-inner .pl__line6 {
  animation-name: line4;
}
.preloader-inner .pl__line5 {
  animation-name: line5;
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
  :root {
    --bg: hsl(var(--hue),90%,10%);
    --fg: hsl(var(--hue),90%,90%);
  }
}

/* Animations */
@keyframes line1 {
  from,
  8% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  18% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  28% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  38% {
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  48% {
    opacity: 1;
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  53% {
    opacity: 0;
    stroke-dashoffset: 31.99;
    transform: translate(8px,16px);
  }
  56% {
    animation-timing-function: steps(1,start);
    opacity: 0;
    stroke-dashoffset: 32;
    transform: translate(0,16px);
  }
  60% {
    animation-timing-function: ease-out;
    opacity: 1;
    stroke-dashoffset: 32;
    transform: translate(0,16px);
  }
  70% {
    animation-timing-function: ease-in-out;
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  80% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  90% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  to {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
}
@keyframes line2 {
  from,
  6% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  16% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  26% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  36% {
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  46% {
    opacity: 1;
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  51% {
    opacity: 0;
    stroke-dashoffset: 31.99;
    transform: translate(8px,16px);
  }
  54% {
    animation-timing-function: steps(1,start);
    opacity: 0;
    stroke-dashoffset: 32;
    transform: translate(0,16px);
  }
  58% {
    animation-timing-function: ease-out;
    opacity: 1;
    stroke-dashoffset: 32;
    transform: translate(0,16px);
  }
  68% {
    animation-timing-function: ease-in-out;
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  78% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  88% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  98%,
  to {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
}
@keyframes line3 {
  from,
  4% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  14% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  24% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  34% {
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  44% {
    opacity: 1;
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  49% {
    opacity: 0;
    stroke-dashoffset: 31.99;
    transform: translate(8px,16px);
  }
  52% {
    animation-timing-function: steps(1,start);
    opacity: 0;
    stroke-dashoffset: 32;
    transform: translate(0,16px);
  }
  56% {
    animation-timing-function: ease-out;
    opacity: 1;
    stroke-dashoffset: 32;
    transform: translate(0,16px);
  }
  66% {
    animation-timing-function: ease-in-out;
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  76% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  86% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  96%,
  to {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
}
@keyframes line4 {
  from,
  2% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  12% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  22% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  32% {
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  42% {
    opacity: 1;
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  47% {
    opacity: 0;
    stroke-dashoffset: 31.99;
    transform: translate(8px,16px);
  }
  50% {
    animation-timing-function: steps(1,start);
    opacity: 0;
    stroke-dashoffset: 32;
    transform: translate(0,16px);
  }
  54% {
    animation-timing-function: ease-out;
    opacity: 1;
    stroke-dashoffset: 32;
    transform: translate(0,16px);
  }
  64% {
    animation-timing-function: ease-in-out;
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  74% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  84% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  94%,
  to {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
}
@keyframes line5 {
  from {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  10% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  20% {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  30% {
    stroke-dashoffset: 0;
    transform: translate(0,0);
  }
  40% {
    stroke-dashoffset: -16;
    transform: translate(0,15px);
  }
  50% {
    stroke-dashoffset: -31;
    transform: translate(0,-48px);
  }
  58% {
    stroke-dashoffset: -31;
    transform: translate(0,8px);
  }
  65% {
    stroke-dashoffset: -31.99;
    transform: translate(0,-24px);
  }
  71.99% {
    animation-timing-function: steps(1);
    stroke-dashoffset: -31.99;
    transform: translate(0,-16px);
  }
  72% {
    animation-timing-function: ease-in-out;
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
  82% {
    stroke-dashoffset: 16;
    transform: translate(0,8px);
  }
  92%,
  to {
    stroke-dashoffset: 31.99;
    transform: translate(0,16px);
  }
}

.search-category select {
	background: transparent;
}
.breadcrumb-wrap .breadcrumb-content {
    padding: 200px 0 122px 0;
}
.footer-top-social .logo img {
	max-width: 150px;
}
.footer-top-social .footer-info p {
	text-transform: capitalize;
}
.navbar-area.navigation-style-01 .custom-container .logo-wrapper img {
	max-width: 140px;
}
.nav-right-part .right-btn-text {
  border: 1px solid #686868;
	border-radius: 35px;
  padding: 10px 18px;
}
.nav-right-part .right-btn-text:hover {
    background: var(--main-color-one);
    border: 1px solid var(--main-color-one);
    color: #fff;
}
.nav-right-part .right-btn-text:hover svg path {
     fill: #fff;
}
.navbar-area-2 .nav-right-part .right-btn-text {
    border: 1px solid #fff;
}
.navbar-area-2 .nav-right-part .right-btn-text:hover {
    border: 1px solid var(--main-color-one);
}

.audio-list-single-wrap {
    padding: 20px 0;
}
.audio-list-single-wrap .media {
  position: relative;
  z-index: 2;
}
.audio-list-single-wrap .media .media-left {
  border-right: 1px solid #bdbdbd99;
  padding-right: 40px;
  margin-right: 40px;
}
.audio-list-single-wrap .media .media-left img {
  height: 55px;
  width: 55px;
  border-radius: 50%;
}
.audio-list-single-wrap .media .media-body h5 {
  margin-bottom: 4px;
  color: #fff;
  font-size: 18px;
}
.audio-list-single-wrap .media .media-body p {
  color: #fff;
}
.audio-list-single-wrap .audio-list-wrap {
  padding: 0 0 0 15px;
  position: relative;
  z-index: 2;
  color: #fff;
}
.audio-list-single-wrap .audio-list-wrap .audioplayer {
  margin: 0;
  padding: 0;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.audio-list-single-wrap .audio-list-wrap .audioplayer:not(.audioplayer-playing) .audioplayer-playpause {
  border: 1px solid #D9D9D9;
}
.audio-list-single-wrap .audio-list-wrap .audioplayer:not(.audioplayer-playing) .audioplayer-playpause a {
    border-left: 12px solid #ffffff;
}
.audio-list-single-wrap .audio-list-wrap .audioplayer-time {
    color: #ffffff;
}
.audio-list-single-wrap .audio-list-wrap  .audioplayer-bar::before {
    background-color: #ffffff40;
}
.audio-list-single-wrap .audio-list-wrap .audioplayer-bar-loaded {
    background: #ffffff;
}
.audio-list-single-wrap .audio-list-wrap .audioplayer:not(.audioplayer-playing) .audioplayer-bar-played::after {
  display: none;
}
.audio-list-single-wrap .audio-list-wrap .audioplayer-volume-adjust div div {
    background-color: #ffffff;
}

.main-search-wrap .search-category form {
    display: flex;
}
.main-search-wrap .search-category .text-field {
    width: 100%;
    margin: 0 70px 0 194px;
	height: 100%;
}
.main-search-wrap .search-category select {
    position: absolute;
    left: 0;
    top: 16px;
}
.charifund-image-scroll-wrap .demo-spacer .nav-tabs li button i,
.charifund-image-scroll-wrap .demo-spacer .nav-tabs li button svg {
	margin-left: 5px;
}
.charifund-single-product-item .woocommerce-thumbnail-wrap img {
    height: auto;
}
.charifund-header-cart {
  color: #246bfd;
  font-size: 18px;
  margin-right: 30px;
}
.charifund-header-cart .cart-badge {
    text-align: center;
}
.navbar-area.navbar-area-2 .custom-container .navbar-collapse .navbar-nav > li + li {
    margin-left: 15px;
}
.navbar-area.navbar-area-2 .charifund-header-cart {
    color: #fff;
}
.navbar-area.navbar-area-2 .charifund-header-cart .cart-badge {
	background: #fff;
	color: #FFFFFF;
}
.main-tab-hide .charifund-image-scroll-wrap .demo-spacer.style-2 {
	display: none;
}

.video-audio-single .single-video-list-inner {
  border-radius: 0;
}
.video-audio-single .audioplayer {
    border: 0 !important;
    border-radius: 0 !important;
    background: #343434 !important;
}
.video-audio-singler .single-video-list-inner .video {
  overflow: hidden;
}
.video-audio-single .single-video-list-inner video {
  height: 505px;
  transform: scale(1.25);
}
.video-audio-single h3.title {
  text-transform: capitalize;
}
.video-audio-single .details-page-info-inner ul li {
  padding-left: 0;
  list-style: none;
}
.video-audio-single .details-page-info-inner ul li:before {
  display: none;
}
.video-audio-single .audioplayer {
  margin: 0;
}
.single-audio-list-inner .media .media-body h5 a:hover {
	color: rgba(255, 255, 255, 0.8);
}

.treanding__themeitem {
  position: relative;
  margin-bottom: 30px;
}
.treanding__themeitem .dollar {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: 16px;
  font-weight: 600;
  font-family: "Inter",sans-serif;
  color: #fff;
  background: var(--main-color-one);
  padding: 6px 10px 4px 10px;
  display: block;
  border-radius: 100px;
}
.treanding__themeitem .tr__starwrap .wordpress {
    box-shadow: 0px 4px 44px 0px rgba(69,105,231,.14);
    background: #fff;
    padding: 5px 10px;
    border-radius: 100px;
}
.treanding__themeitem .tr__starwrap .ratting li svg {
    color: #ff8000;
}
.treanding__themeitem span {
  text-transform: capitalize;
}
.treanding__themeitem span .title {
    color: #222e48;
}
.treanding__themeitem span .user {
  color: #818181;
}
.treanding_title {
  text-transform: capitalize;
}
.single-product-page-content .thumb {
  height: 500px;
}
.single-product-page-content .thumb img {
  width: 100%;
  height: inherit;
}

@media all and (max-width: 1599px) {
  .footer-top-social {
    margin-left: 80px;
  }
	.footer-top-social .footer-social li a {
		padding: 20px;
	}
}
@media all and (max-width: 1400px) {
  .footer-top-social {
    margin-left: 135px;
  }
  .footer-top-social .footer-social li a {
    padding: 19px 14px;
  }
}
@media all and (min-width: 992px) {
}
@media all and (max-width: 575px) {
	.elementor-image-box-img-wrap .elementor-image-box-img {
		margin-bottom: 20px !important;
	}
	.banner-cat a {
		margin-left: 0;
	}
	.main-search-wrap .search-category .text-field {
		margin: 9px 36px 0 130px;
	}
	.main-search-wrap .search-category select {
		top: 9px;
		font-size: 12px;
	}
	.main-search-wrap .search-category .text-field {
		margin: 0 40px 0 128px;
	}
}

.single-audio-creator-inner.creator-style-2 .thumb img {
	border-radius: 0;
}

.single-audio-creator-inner.creator-style-2 .details {
	border-radius: 0 0 20px 20px;
}

.audio-chart-list-area .banner-audio-list li:nth-child(9),
.audio-chart-list-area .banner-audio-list li:nth-child(10) {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}
.text-t-capetalize {
  text-transform: capitalize;
}

.dark-area {
  display: inline-block;
}
.dark-area .switch {
  position: relative;
  display: inline-block;
  height: 27px;
  width: 48px;
}
.dark-area .switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.dark-area .switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border: 1px solid #878787;
}
.dark-area .switch .slider:before {
  position: absolute;
  content: "";
  height: 17px;
  width: 18px;
  left: 4px;
  bottom: 4px;
  background-color: #fff;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.dark-area .switch input:focus + .slider {
  box-shadow: 0 0 1px #614BFF;
}
.dark-area .switch input:checked + .slider:before {
  transform: translateX(20px);
}
.dark-area .switch .slider.round {
  border-radius: 30px;
}
.dark-area .switch .slider.round:before {
  border-radius: 50%;
}
.dark-area .switch .slider .fa-moon {
  position: absolute;
  font-size: 14px;
  left: 6px;
  top: 6px;
  color: #fff !important;
}
.dark-area .switch .slider .fa-sun {
  position: absolute;
  font-size: 15px;
  right: 6px;
  top: 6px;
  color: #fff !important;
}
.body-light .dark-area .switch .slider:before {
  transform: translateX(20px);
}

.logged-in.admin-bar .navbar-3-area,
.logged-in.admin-bar .main-menu-sidebar-wrap {
  top: 32px;
}
.navbar-3-area {
    padding: 20px 40px 20px 360px;
}

.main-menu-sidebar-wrap {
  position: fixed;
  left: 0;
  top: 0;
  border-right: 1px solid #343434;
  width: 360px;
  z-index: 9999;
  padding: 30px 40px 40px;
  height: 100%;
}
.main-wrap-page-two {
  padding-left: 360px;
  padding-top: 100px;
}
.main-wrap-page-two-inner {
    padding: 40px;
}
.main-menu-sidebar-nav {
  padding-top: 55px;
}
.main-menu-sidebar-nav .navbar-nav {
  padding: 0;
}
.footer-style-page-2 {
    margin-left: 360px;
}
.navbar-3-area {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 22;
  background: #0f0f0f;
  border-bottom: 1px solid #343434;
}


.copy-right {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 40px;
}
.copy-right p {
  font-size: 14px;
  line-height: 1.6;
}
.main-wrap-page-two .testimonial-slider-one-area .theme-section-title .title {
    font-size: 24px;
}
.home-4-chart {
	border-top: 1px solid #262626;
}
@media all and (max-width: 1599px) {
    .navbar-3-area {
        padding: 20px 40px 20px 280px;
    }
    .main-menu-sidebar-wrap {
      width: 280px;
    }
    .main-wrap-page-two {
      padding-left: 280px;
    }
    .footer-style-page-2 {
        margin-left: 280px;
    }
}

@media all and (max-width: 1199px) {
    .main-wrap-page-two {
      padding-left: 0;
      padding-top: 0;
    }
    .footer-style-page-2 {
        margin-left: 0;
    }
}
@media all and (max-width: 576px) {
    .main-wrap-page-two-inner {
        padding: 10px;
    }
    .home-4-chart .audio-chart-list-area .banner-audio-list li {
        width: 100%;
    }
    .call-to-action-area-2 {
        padding: 20px 10px;
    }
    .call-to-action-area a img {
        width: 100px;
    }
    .navbar-area.navbar-area-2 .custom-container .navbar-collapse .navbar-nav > li + li {
        margin-left: 0;
    }
	.preloader-inner .pl {
		display: block;
		margin: auto;
		width: 7em;
		height: auto;
	}
}
.elementor-editor-active .preloader {
	display: none;
}
.root-data-givewp-embed {
  padding: 100px 0;
}
.givewp-layouts-headerImage {
  display: none !important;
}
.home-3-contact-form .wpcf7-response-output {
  padding: 17px 10px !important;
  color: #fff;
  font-size: 14px;
  border-color: #fff !important;
}
.page-id-1198 .widget_charifund_category,
.page-id-1198 .charifund-widget-author {
  display: none;
}
.page-id-1198 .widget {
  padding: 40px !important;
  border-radius: 20px;
  background-color: var(--white);
  -webkit-box-shadow: 0px 0px 60px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 0px 60px 0px rgba(0, 0, 0, 0.05);
  margin-bottom: 40px;
}
.page-id-1198 .widget_search .search-form .form-group .form-control {
  background-color: transparent;
  border: 1px solid #ebebeb;
}
.wp-block-heading {
  font-size: 24px;
}
.rssSummary {
  line-height: 1.7 !important;
}
.menu-set-up a {
  padding-top: 12px;
  padding-bottom: 12px;
  display: inline-block;
  text-align: center;
  padding: 15px 30px;
  border-radius: 35px;
  background-color: var(--secondary-colorx);
  color: #fff;
}
.woocommerce-single-product-page-content-area .woocommerce-product-gallery__image a {
  width: 100%;
}
.woocommerce-single-product-page-content-area .woocommerce-product-gallery__image {
  text-align: center;
  margin-bottom: 10px;
}

.commit .commit-count.left-top {
  top: 0;
  bottom: auto;
  margin-left: -20px;
}
.commit .commit-count.right-top {
  right: 0;
  left: auto;
  top: 0;
}
.commit .commit-count.right-bottom {
  right: 0;
  left: auto;
  bottom: 30px;
}
.commit__tab-wrapper .commmit-tab-single {
  display: none !important;
}
.commit__tab-wrapper .commmit-tab-single.active {
  display: flex !important;
}
.hero-bg {
	position: relative;
}
.hero-bg:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(270deg, rgba(2, 13, 25, 0) 16.33%, rgba(2, 13, 25, 0.8) 100%), linear-gradient(360deg, rgba(2, 13, 25, 0) 87.52%, var(--e-global-color-primary) 101.14%);
    z-index: 0;
}

.header-five {
  position: absolute;
  top: 0;
  background-color: transparent;
  border-bottom: 1px solid #ffffff38;
}
.header-five .main-header__menu-box {
  background-color: transparent;
}
.header-five.header-secondary .contact-btn p,
.header-five.header-secondary .navbar__item > a {
  color: #ffffff;
}
.header-five.header-secondary .contact-btn a,
.header-five .contact-btn i {
  color: var(--base-color);
}
.header-five.header-secondary .navbar__sub-menu a {
	color: var(--black);
}
.header-five.header-secondary.sticky-header {
	background-color: #122f2a !important;
}
.preloader .preloader-icon-img {
    width: 100px;
    min-width: 100px;
    height: 100px;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: var(--base-color);
    font-size: 40px;
    color: var(--black);
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-animation: flipY 3s linear infinite;
    animation: flipY 3s linear infinite;
	padding: 20px;
}
.rtl .footer-two__widget-intro .menu li:before {
    left: auto;
    right: -23px;
}
.rtl .footer-two__widget-intro .menu li {
    margin-left: 0;
    margin-right: 24px;
}
.banner-slider-navigation.flex-direction-row {
	flex-direction: row !important;
}
.wildlife-banner-header {
	background: linear-gradient(to top, transparent 11%, #ffffff 62%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#wp-admin-bar-elementor_edit_page .ab-item {
	display: flex;
}

/* Swiper Team Slider Overrides (Only applied when Swiper initializes) */
.elementor-element-095ddbc.swiper-initialized,
.elementor-element-2b52a1f.swiper-initialized {
    display: block !important;
    overflow: visible !important; /* Allow arrows to overflow outside container bounds if needed */
    position: relative !important;
}
.elementor-element-095ddbc.swiper-initialized .swiper-wrapper,
.elementor-element-2b52a1f.swiper-initialized .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
}
.elementor-element-095ddbc.swiper-initialized .swiper-slide,
.elementor-element-2b52a1f.swiper-initialized .swiper-slide {
    max-width: none !important;
    flex-shrink: 0 !important;
    margin-bottom: 0 !important;
}

/* Force identical sizing on all team member image containers */
.elementor-element-095ddbc .team__single-thumb,
.elementor-element-2b52a1f .team__single-thumb {
    width: 100% !important;
    height: 350px !important;
    overflow: hidden !important;
}
.elementor-element-095ddbc .team__single-thumb img,
.elementor-element-2b52a1f .team__single-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Force equal height blocks on all team cards */
.elementor-element-095ddbc .swiper-slide,
.elementor-element-2b52a1f .swiper-slide {
    height: auto !important;
}
.elementor-element-095ddbc .swiper-slide > .elementor-widget-container,
.elementor-element-095ddbc .team,
.elementor-element-095ddbc .team__single-wrapper,
.elementor-element-095ddbc .team__single,
.elementor-element-2b52a1f .swiper-slide > .elementor-widget-container,
.elementor-element-2b52a1f .team,
.elementor-element-2b52a1f .team__single-wrapper,
.elementor-element-2b52a1f .team__single {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
.elementor-element-095ddbc .team__single,
.elementor-element-2b52a1f .team__single {
    justify-content: space-between !important;
}
.elementor-element-095ddbc .team__single-content,
.elementor-element-2b52a1f .team__single-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* Swiper navigation buttons for team carousel */
.team-slider-nav {
    position: absolute;
    top: 50%;
    left: -50px;
    right: -50px;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    width: calc(100% + 100px);
    z-index: 10;
    pointer-events: none;
}
.team-slider-nav button {
    pointer-events: auto;
    background: var(--main-color-one, #046a58) !important;
    color: #ffffff !important;
    border: none !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
    cursor: pointer !important;
}
.team-slider-nav button:hover {
    background: var(--heading-color, #122f2a) !important;
    color: #ffffff !important;
}
@media (max-width: 1200px) {
    .team-slider-nav {
        position: static;
        transform: none;
        width: 100%;
        justify-content: center;
        gap: 20px;
        margin-top: 30px;
    }
}

/* Make footer logo smaller */
.footer-two__widget-logo img,
.footer-one__widget-logo img,
.footer-default__widget-logo img,
.footer__widget-logo img,
.footer-two__widget-logo a img {
    max-width: 180px !important;
    height: auto !important;
}

/* ==========================================================================
   Custom overrides to remove menu background and increase font size
   ========================================================================== */

/* 1. Remove background from the main menu wrapper and container */
.navbar__menu-wrapper,
.header-secondary .navbar__menu-wrapper,
.navbar__menu,
.navbar__list,
.main-header__menu-box,
.header,
.sticky-header {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* 2. Remove the pseudo-elements (like double border-radius panels/wedges) in secondary header buttons/contact info wrappers */
.header-secondary .contact-btn::before,
.header-secondary .contact-btn::after {
    background-color: transparent !important;
}

/* 3. Increase font size of top-level menu links */
.header .navbar__item > a,
.header-secondary .navbar__item > a,
.header .navbar__item a,
.navbar__item a {
    font-size: 24px !important; /* Increase to 24px */
    font-weight: 700 !important; /* Ensure it looks strong and clean */
}

/* 4. Increase font size of dropdown/sub-menu links */
.header .navbar__sub-menu a,
.navbar__sub-menu a {
    font-size: 20px !important; /* Increase to 20px */
}

/* 5. Increase font size of mobile menu items */
.mobile-menu .navbar__item a,
.mobile-menu .navbar__sub-menu a {
    font-size: 22px !important; /* Increase to 22px */
}

/* 6. Prevent menu wrapping and align the Donate button on desktop */
@media all and (min-width: 1200px) {
    .navbar {
        flex-wrap: nowrap !important;
    }
    .header-secondary .navbar__menu {
        padding-inline-end: 20px !important; /* Reduce excessive padding from 80px to 20px */
    }
    .navbar__menu-wrapper {
        gap: 20px !important; /* Reduce gap from 40px to 20px */
    }
}

/* 7. Equalize slider height (shallower for full-image visibility) and restore cover background */
.banner-two__slider-single,
.banner__slider .swiper-slide,
.banner-three__slider .swiper-slide {
    height: 700px !important; /* Increased by 100px to ensure the top logo/header is clear of slide content */
    display: flex !important;
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.banner-two__slider-bg,
.banner-bg {
    background-size: cover !important; /* Restore images to fill the background */
    background-repeat: no-repeat !important;
    background-position: center !important;
    animation: none !important;
    transform: none !important;
}

/* Decrease banner slider title/heading size to fit the shallower height */
.banner-two__slider-content h1,
.banner__content h1,
.banner-three__slider h1,
.banner-three__content h1 {
    font-size: 44px !important;
    line-height: 1.2 !important;
    max-width: 550px !important; /* Ensure it fits nicely */
}

/* Make slider height and headings responsive for tablet and mobile */
@media (max-width: 1199.98px) {
    .banner-two__slider-single,
    .banner__slider .swiper-slide,
    .banner-three__slider .swiper-slide {
        height: 580px !important;
    }
    .banner-two__slider-content h1,
    .banner__content h1,
    .banner-three__slider h1,
    .banner-three__content h1 {
        font-size: 36px !important;
    }
}

@media (max-width: 991.98px) {
    .banner-two__slider-single,
    .banner__slider .swiper-slide,
    .banner-three__slider .swiper-slide {
        height: 500px !important;
    }
    .banner-two__slider-content h1,
    .banner__content h1,
    .banner-three__slider h1,
    .banner-three__content h1 {
        font-size: 30px !important;
    }
}

@media (max-width: 575.98px) {
    .banner-two__slider-single,
    .banner__slider .swiper-slide,
    .banner-three__slider .swiper-slide {
        height: 420px !important;
    }
    .banner-two__slider-content h1,
    .banner__content h1,
    .banner-three__slider h1,
    .banner-three__content h1 {
        font-size: 24px !important;
    }
}

/* 8. Equalize partner logo sizes in the image carousel and prevent cropping */
.elementor-image-carousel .swiper-slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 160px !important; /* Standardized heights for logo slides - increased to 160px */
}

.elementor-image-carousel .swiper-slide-image,
.elementor-image-carousel-item img,
.elementor-image-carousel img {
    max-height: 120px !important; /* Constrain vertical sizing uniformly - increased to 120px */
    width: auto !important; /* Keep original aspect ratio */
    max-width: 100% !important; /* Fit within bounds */
    object-fit: contain !important; /* Contain the image to show it in full (never crop) */
}

/* 9. Make New Era and candidate partner logos slightly larger */
.elementor-image-carousel img[src*="images-2.jpg"],
.elementor-image-carousel img[src*="images-1.jpg"],
.elementor-image-carousel img[src*="cd0c7c_"] {
    max-height: 145px !important;
}

/* 10. Adjust dynamic services/cause slider card shapes and text sizing */
.difference .difference__single {
    background-size: 88% 88% !important; /* Shrink background shape slightly to prevent distortion */
    background-position: center !important;
    padding: 105px 0px !important; /* Increased padding from 80px to 105px to make boxes taller */
}

.difference .difference__single-content {
    margin-top: 24px !important; /* Pull content up slightly */
}

.difference .difference__single-content h5 {
    font-size: 19px !important; /* Decrease title font size for a cleaner fit */
    line-height: 1.3 !important;
}

.difference .difference__single-content p {
    font-size: 14px !important; /* Decrease description font size */
    line-height: 1.45 !important;
    margin-top: 10px !important; /* Pull up margin spacing */
}

/* 11. Decrease the excessive spacing between the partner logos and the services section */
.elementor-element-16db78d {
    padding-top: 35px !important; /* Decreased from 120px */
}

/* 12. Premium light glassmorphism background for the sticky menu/header */
.sticky-header,
.sticky-header .main-header__menu-box {
    background: rgba(255, 255, 255, 0.96) !important; /* Premium light white background */
    backdrop-filter: blur(12px) !important; /* Blur effect for readability over content */
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important; /* Clean light shadow */
}

/* 13. Spacing correction to collapse excessive footer/content whitespace on all content pages */
.charifund-page-content-area {
    padding-bottom: 40px !important;
}

/* 14. Responsive column stacking and image styling for mobile/tablet screens */
@media (max-width: 767px) {
    .wp-block-columns {
        flex-direction: column !important;
        gap: 25px !important;
    }
    .wp-block-column {
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    /* Set responsive height for column images */
    .un-images-column img,
    .oiota-join-page .image-col img,
    .oiota-get-involved-page .image-col img {
        height: auto !important;
        max-height: 320px !important;
        object-fit: contain !important;
    }
}

/* 15. Menu hover color updates (set to #7a9c5a) */
:root {
    --hover-color: #7a9c5a !important;
}
.header .navbar__item a:hover,
.header .navbar__item:hover > .navbar__dropdown-label,
.header .navbar__item--has-children:hover > .navbar__dropdown-label,
.header .navbar__sub-menu a:hover,
.header .navbar__sub-menu .navbar__item--has-children:hover > .navbar__dropdown-label-sub,
.header .active > .navbar__dropdown-label,
.header .active > a {
    color: #7a9c5a !important;
}
.header .navbar__sub-menu a:hover::before,
.header .navbar__sub-menu .active > a::before {
    background-color: #7a9c5a !important;
}

/* 16. Nested 3rd-level submenu rendering and caret fixes */
.header .navbar__sub-menu li {
    position: relative !important;
}
.header .navbar__sub-menu .navbar__dropdown-label-sub {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}
.header .navbar__sub-menu .navbar__dropdown-label-sub::after {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    content: "\f105" !important; /* chevron-right */
    border: none !important;
    font-size: 14px !important;
    margin-left: 10px !important;
    display: inline-block !important;
    transition: transform 0.3s ease-in-out !important;
}
.header .navbar__sub-menu .navbar__item--has-children:hover > .navbar__dropdown-label-sub::after {
    transform: rotate(90deg) !important; /* point down on hover */
    color: #7a9c5a !important;
}
body.rtl .header .navbar__sub-menu .navbar__dropdown-label-sub::after {
    content: "\f104" !important; /* chevron-left */
}

/* ==========================================================================
   Header Dropdown & Submenu Navigation Fixes
   ========================================================================== */

/* 1. Ensure parent navigation links maintain full height and alignment */
.header .navbar__item a {
    display: inline-flex !important;
    align-items: center;
}

/* 2. Second-level Dropdown Menu (e.g. More, Who We Are, etc.) */
.header .navbar__sub-menu:not(.navbar__sub-menu__nested) {
    top: 100% !important;
    margin-top: 0 !important;
    z-index: 9999 !important;
    transform: translateY(0px) !important;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
}

/* Ensure hover state is active and visible with pointer events */
.header .navbar__item--has-children:hover > .navbar__sub-menu:not(.navbar__sub-menu__nested) {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: all !important;
    transform: translateY(0px) !important;
}

/* Top invisible hover bridge to eliminate any gap between parent link and dropdown */
.header .navbar__sub-menu:not(.navbar__sub-menu__nested)::after {
    content: "" !important;
    position: absolute !important;
    top: -15px !important;
    left: 0 !important;
    right: 0 !important;
    height: 20px !important;
    background: transparent !important;
    pointer-events: auto !important;
}

/* 3. Third-level Nested Flyout Submenus (e.g. Blog -> Read our blogs) */
.header ul.navbar__sub-menu.navbar__sub-menu__nested {
    top: -20px !important;
    inset-inline-start: 100% !important;
    min-width: 240px !important;
    transform: translateY(0px) !important;
}
.header ul.navbar__sub-menu.navbar__sub-menu__nested::before {
    top: 35px !important;
    border-inline-end-color: #7a9c5a !important;
}
/* Side invisible hover bridge between 2nd-level item and 3rd-level flyout */
.header ul.navbar__sub-menu.navbar__sub-menu__nested::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    inset-inline-start: -25px !important;
    width: 30px !important;
    background: transparent !important;
    pointer-events: auto !important;
}


/* ==========================================================================
   Oiota Buttons and Carousel Colors Standardization (#7a9c5a)
   ========================================================================== */

/* 1. Global CSS Variable Overrides */
:root {
    --base-color: #7a9c5a !important;
    --primary-color: #7a9c5a !important;
    --tertiary-color: #7a9c5a !important;
}

/* 2. Style all primary, secondary, and tertiary button classes */
.btn--primary,
.btn--secondary,
.btn--tertiary,
.banner .btn--primary,
.banner .btn--secondary,
.banner .btn--tertiary,
.banner-two .btn--primary,
.banner-two .btn--secondary,
.banner-two .btn--tertiary,
.banner-three .btn--primary,
.banner-three .btn--secondary,
.banner-three .btn--tertiary,
.cta-section .btn--primary,
.cta-section .btn--secondary,
.cta-section .btn--tertiary,
.cta-section-two .btn--primary,
.cta-section-two .btn--secondary,
.cta-section-two .btn--tertiary {
    background-color: #7a9c5a !important;
    color: #000000 !important;
    border-color: #7a9c5a !important;
}

/* 3. Override button pseudo-elements (hover fill transition effect) */
.btn--primary::before, .btn--primary::after,
.btn--secondary::before, .btn--secondary::after,
.btn--tertiary::before, .btn--tertiary::after,
.banner .btn--primary::before, .banner .btn--primary::after,
.banner .btn--tertiary::before, .banner .btn--tertiary::after,
.banner-two .btn--primary::before, .banner-two .btn--primary::after,
.banner-two .btn--tertiary::before, .banner-two .btn--tertiary::after,
.cta-section .btn--primary::before, .cta-section .btn--primary::after,
.cta-section .btn--tertiary::before, .cta-section .btn--tertiary::after,
.cta-section-two .btn--primary::before, .cta-section-two .btn--primary::after,
.cta-section-two .btn--tertiary::before, .cta-section-two .btn--tertiary::after {
    background-color: #7a9c5a !important;
}

/* 4. Hover states override to transition cleanly to secondary color (#122f2a) */
.btn--primary:hover,
.btn--secondary:hover,
.btn--tertiary:hover,
.banner .btn--primary:hover,
.banner .btn--secondary:hover,
.banner .btn--tertiary:hover,
.banner-two .btn--primary:hover,
.banner-two .btn--secondary:hover,
.banner-two .btn--tertiary:hover,
.banner-three .btn--primary:hover,
.banner-three .btn--secondary:hover,
.banner-three .btn--tertiary:hover,
.cta-section .btn--primary:hover,
.cta-section .btn--secondary:hover,
.cta-section .btn--tertiary:hover,
.cta-section-two .btn--primary:hover,
.cta-section-two .btn--secondary:hover,
.cta-section-two .btn--tertiary:hover {
    background-color: #122f2a !important;
    color: #ffffff !important;
    border-color: #122f2a !important;
}

.btn--primary:hover::before, .btn--primary:hover::after,
.btn--secondary:hover::before, .btn--secondary:hover::after,
.btn--tertiary:hover::before, .btn--tertiary:hover::after,
.banner .btn--primary:hover::before, .banner .btn--primary:hover::after,
.banner .btn--tertiary:hover::before, .banner .btn--tertiary:hover::after,
.banner-two .btn--primary:hover::before, .banner-two .btn--primary:hover::after,
.banner-two .btn--tertiary:hover::before, .banner-two .btn--tertiary:hover::after,
.cta-section .btn--primary:hover::before, .cta-section .btn--primary:hover::after,
.cta-section .btn--tertiary:hover::before, .cta-section .btn--tertiary:hover::after,
.cta-section-two .btn--primary:hover::before, .cta-section-two .btn--primary:hover::after,
.cta-section-two .btn--tertiary:hover::before, .cta-section-two .btn--tertiary:hover::after {
    background-color: #122f2a !important;
    width: 0% !important;
}

/* 5. Icons color inheritance inside buttons */
.btn--primary i, .btn--secondary i, .btn--tertiary i,
.banner .btn--primary i, .banner .btn--tertiary i,
.banner-two .btn--primary i, .banner-two .btn--tertiary i {
    color: inherit !important;
}

/* 6. Carousel and Slider Navigation buttons override */
.slider-btn,
.team-slider-nav button,
.slider-navigation .slider-btn,
.slider-navigation .slider-btn-next,
.swiper-button-prev,
.swiper-button-next {
    background-color: #7a9c5a !important;
    background: #7a9c5a !important;
    color: #000000 !important;
}

.slider-btn:hover,
.team-slider-nav button:hover,
.slider-navigation .slider-btn:hover,
.slider-navigation .slider-btn-next:hover,
.swiper-button-prev:hover,
.swiper-button-next:hover {
    background-color: #122f2a !important;
    background: #122f2a !important;
    color: #ffffff !important;
}

.slider-btn i,
.team-slider-nav button i,
.slider-navigation .slider-btn i,
.slider-navigation .slider-btn-next i {
    color: inherit !important;
}

/* 7. Community Mental Health Resources Page Styling */
.oiota-mental-health-page {
    font-family: var(--nunito);
    color: var(--template-color);
}
.oiota-mental-health-page .hero-section {
    display: flex;
    align-items: center;
    gap: 50px;
    margin-bottom: 80px;
}
.oiota-mental-health-page .hero-content {
    flex: 1.2;
}
.oiota-mental-health-page .hero-image-col {
    flex: 0.8;
}
.oiota-mental-health-page .hero-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
}
.oiota-mental-health-page .hero-title {
    font-size: 38px;
    line-height: 48px;
    font-weight: 800;
    color: var(--secondary-colorx);
    margin-bottom: 20px;
}
.oiota-mental-health-page .hero-desc {
    font-size: 18px;
    line-height: 30px;
    color: #555;
    margin-bottom: 30px;
}
.oiota-mental-health-page .btn-consult {
    display: inline-flex;
    background: #7a9c5a;
    color: #fff !important;
    padding: 14px 32px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(4,106,88,0.2);
}
.oiota-mental-health-page .btn-consult:hover {
    background: #122f2a;
    transform: translateY(-2px);
    color: #fff !important;
}
.oiota-mental-health-page .section-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--secondary-colorx);
    text-align: center;
    margin-bottom: 40px;
}
.oiota-mental-health-page .resources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    margin-bottom: 80px;
}
.oiota-mental-health-page .resource-card {
    background: #ffffff;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}
.oiota-mental-health-page .resource-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    border-color: #7a9c5a;
}
.oiota-mental-health-page .resource-card-img {
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    border-radius: 8px;
    margin-bottom: 15px;
}
.oiota-mental-health-page .resource-badge {
    align-self: flex-start;
    background: rgba(122,156,90,0.12);
    color: #7a9c5a;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 15px;
    text-transform: uppercase;
}
.oiota-mental-health-page .resource-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--secondary-colorx);
    margin: 0 0 10px 0;
}
.oiota-mental-health-page .resource-card p {
    font-size: 15px;
    line-height: 24px;
    color: #666;
    margin: 0;
    flex-grow: 1;
}
.oiota-mental-health-page .callout-box {
    background: #f9fbf7;
    border-left: 6px solid #7a9c5a;
    padding: 40px;
    border-radius: 16px;
    text-align: center;
    margin-bottom: 80px;
}
.oiota-mental-health-page .callout-box h3 {
    font-size: 26px;
    font-weight: 700;
    color: var(--secondary-colorx);
    margin-bottom: 15px;
}
.oiota-mental-health-page .callout-box p {
    font-size: 16px;
    line-height: 26px;
    color: #555;
    margin-bottom: 25px;
    max-width: 800px;
    margin-inline: auto;
}
@media (max-width: 768px) {
    .oiota-mental-health-page .hero-section {
        flex-direction: column !important;
        gap: 30px;
    }
}


/* 8. Remove text-transform from Common Banner (preserves uppercase acronyms like UN, SDGs, etc.) */
.common-banner,
.common-banner *,
.common-banner h2,
.common-banner .title-animation,
.common-banner .title-animation div,
.common-banner .sub-title {
    text-transform: none !important;
}
/* ==========================================================================
   Outreach Banner Styling
   ========================================================================== */
.outreach-banner {
  background: linear-gradient(270deg, #7a9c5a, #92b273, #5f7e44);
  background-size: 600% 600%;
  animation: gradientBG 12s ease infinite;
  color: white;
  font-size: 18px;
  font-weight: bold;
  overflow: hidden;
  width: 100%;
  padding: 12px 0;
  position: relative;
  border-radius: 6px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  margin-bottom: 20px;
  z-index: 10;
}
@keyframes gradientBG {
  0% {background-position: 0% 50%;}
  50% {background-position: 100% 50%;}
  100% {background-position: 0% 50%;}
}
.outreach-track {
  display: inline-block;
  white-space: nowrap;
  animation: scrollText 30s linear infinite;
}
.outreach-track:hover { animation-play-state: paused; cursor: pointer; }
@keyframes scrollText {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}
.outreach-text {
  display: inline-block;
  padding-right: 150px;
  color: #ffffff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
.outreach-text a {
  color: #ffffff;
  font-weight: bold;
  margin-left: 10px;
  text-decoration: underline;
}

/* ==========================================================================
   Contact Page Mobile Optimizations (Page ID 807)
   ========================================================================== */
@media (max-width: 991.98px) {
  /* 1. Reduce bloated form padding & spacing */
  .page-id-807 .volunteer .volunteer__form {
    padding: 26px 20px !important;
    margin-inline-start: 0 !important;
    margin-top: 0 !important;
    border-radius: 14px !important;
  }
  .page-id-807 .volunteer .volunteer__form .volunteer__form-content {
    margin-bottom: 16px !important;
  }
  .page-id-807 .volunteer .volunteer__form h4 {
    font-size: 22px !important;
    margin-bottom: 4px !important;
  }
  .page-id-807 .volunteer .volunteer__form p {
    font-size: 14px !important;
    margin-top: 4px !important;
    margin-bottom: 14px !important;
  }
  .page-id-807 .volunteer .volunteer__form .input-single {
    margin-bottom: 12px !important;
  }
  .page-id-807 .volunteer .volunteer__form textarea {
    height: 105px !important;
  }

  /* 2. Compact Contact Details */
  .page-id-807 .elementor-element-c11a89e .elementor-icon-box-title,
  .page-id-807 .elementor-element-767c324 .elementor-icon-box-title,
  .page-id-807 .elementor-element-172099f .elementor-icon-box-title,
  .page-id-807 .elementor-element-49b8491 .elementor-icon-box-title {
    margin-block-end: 6px !important;
    font-size: 18px !important;
  }
  .page-id-807 .elementor-element-cfcbdf8 {
    margin: 6px 0 0 0 !important;
  }
  .page-id-807 .elementor-element-cfcbdf8 .elementor-social-icon {
    --icon-padding: 10px !important;
  }
  .page-id-807 .elementor-element-7745ac8 iframe {
    height: 240px !important;
    border-radius: 12px !important;
  }
}

/* ==========================================================================
   See Our Press Page Styling (.oiota-press-page)
   ========================================================================== */

/* Reduce excess banner gap across all new and standard pages (uniform 40px top gap) */
.charifund-page-content-area.padding-120,
#primary.charifund-page-content-area.padding-120,
body.page-id-12033 #primary.padding-120,
body.page-id-11576 #primary.padding-120,
body.page-id-12034 #primary.padding-120,
body.page-id-12035 #primary.padding-120,
body.page-id-12036 #primary.padding-120,
body.page-id-12032 #primary.padding-120,
.page-content-wrap-12033.padding-120,
.page-content-wrap-11576.padding-120,
.page-content-wrap-12034.padding-120,
.page-content-wrap-12035.padding-120,
.page-content-wrap-12036.padding-120,
.page-content-wrap-12032.padding-120 {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
}

.oiota-press-page {
    font-family: var(--nunito, sans-serif);
    color: var(--template-color, #444);
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 15px 60px 15px;
    box-sizing: border-box;
    width: 100%;
}

.oiota-press-page .press-hero {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 40px auto;
}

.oiota-press-page .press-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(122, 156, 90, 0.12);
    color: #7a9c5a;
    padding: 6px 18px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.oiota-press-page .press-title {
    font-size: 38px;
    line-height: 48px;
    font-weight: 800;
    color: #00715D;
    margin-bottom: 16px;
}

.oiota-press-page .press-desc {
    font-size: 17px;
    line-height: 28px;
    color: #555;
    margin: 0 auto;
}

/* Video Player Wrapper - Standard 16:9 Responsive Ratio */
.oiota-press-page .video-wrapper {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    background: #000000 !important;
    overflow: hidden !important;
    display: block !important;
    line-height: 0 !important;
    box-sizing: border-box !important;
}

.oiota-press-page .video-wrapper video,
.oiota-press-page .video-wrapper iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    outline: none !important;
    border: none !important;
}

/* Featured Video Section */
.oiota-press-page .featured-press {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    margin-bottom: 45px;
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.oiota-press-page .featured-press:hover {
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.09);
}

.oiota-press-page .featured-press .video-wrapper {
    border-radius: 18px 18px 0 0 !important;
}
.oiota-press-page .featured-press .video-wrapper video,
.oiota-press-page .featured-press .video-wrapper iframe {
    border-radius: 18px 18px 0 0 !important;
}

.oiota-press-page .featured-content {
    padding: 30px 35px;
    box-sizing: border-box;
}

.oiota-press-page .press-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
}

.oiota-press-page .tag-badge {
    background: #00715D;
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.oiota-press-page .press-date {
    font-size: 14px;
    color: #888;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.oiota-press-page .featured-content h3 {
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
    color: #222;
    margin: 0 0 12px 0;
}

.oiota-press-page .featured-content p {
    font-size: 15px;
    line-height: 25px;
    color: #666;
    margin: 0;
}

/* Video Filter Tabs */
.video-tabs-wrap {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 40px auto 30px auto;
    flex-wrap: wrap;
}
.video-tab {
    background: #f0f6f3;
    border: 1px solid rgba(0, 113, 93, 0.15);
    color: #2b332f;
    font-size: 13.5px;
    font-weight: 600;
    padding: 9px 22px;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.25s ease;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.video-tab:hover {
    background: rgba(0, 113, 93, 0.1);
    color: #00715D;
    border-color: #00715D;
}
.video-tab.active {
    background: #00715D;
    color: #ffffff;
    border-color: #00715D;
    box-shadow: 0 4px 12px rgba(0, 113, 93, 0.25);
}

/* Secondary Press Grid - 2 Equal Columns Side by Side */
.oiota-press-page .press-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 30px !important;
    margin-bottom: 50px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.oiota-press-page .press-grid > p {
    display: none !important;
}

.oiota-press-page .press-card {
    flex: 1 1 calc(50% - 15px) !important;
    max-width: calc(50% - 15px) !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.oiota-press-page .press-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
    border-color: #7a9c5a;
}

.oiota-press-page .press-card .video-wrapper {
    border-radius: 16px 16px 0 0 !important;
}
.oiota-press-page .press-card .video-wrapper video,
.oiota-press-page .press-card .video-wrapper iframe {
    border-radius: 16px 16px 0 0 !important;
}

.oiota-press-page .press-card-body {
    padding: 24px 25px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    box-sizing: border-box !important;
}

.oiota-press-page .press-card-body h3 {
    font-size: 19px;
    line-height: 27px;
    font-weight: 700;
    color: #222;
    margin: 0 0 10px 0;
}

.oiota-press-page .press-card-body p {
    font-size: 14px;
    line-height: 23px;
    color: #666;
    margin: 0;
    flex-grow: 1;
}

/* Callout Box */
.oiota-press-page .press-callout {
    background: linear-gradient(135deg, #f7faf5 0%, #eef5ea 100%);
    border: 1px solid rgba(122, 156, 90, 0.25);
    border-left: 6px solid #7a9c5a;
    border-radius: 16px;
    padding: 40px;
    text-align: center;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
}

.oiota-press-page .press-callout h3 {
    font-size: 24px;
    font-weight: 800;
    color: #00715D;
    margin-bottom: 12px;
}

.oiota-press-page .press-callout p {
    font-size: 16px;
    line-height: 26px;
    color: #555;
    max-width: 750px;
    margin: 0 auto 25px auto;
}

.oiota-press-page .press-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.oiota-press-page .btn-press-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #00715D;
    color: #fff !important;
    padding: 12px 28px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 113, 93, 0.25);
}
.oiota-press-page .btn-press-primary:hover {
    background: #064e40;
    transform: translateY(-2px);
    color: #fff !important;
}

.oiota-press-page .btn-press-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #00715D !important;
    border: 2px solid #00715D;
    padding: 10px 26px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 15px;
    transition: all 0.3s ease;
}
.oiota-press-page .btn-press-secondary:hover {
    background: #00715D;
    color: #fff !important;
    transform: translateY(-2px);
}

/* Responsive Overrides */
@media (max-width: 991.98px) {
    /* Significantly reduce banner gap on tablet & mobile */
    .charifund-page-content-area.padding-120,
    #primary.charifund-page-content-area.padding-120,
    body.page-id-12033 #primary.padding-120,
    body.page-id-11576 #primary.padding-120,
    body.page-id-12034 #primary.padding-120,
    body.page-id-12035 #primary.padding-120,
    body.page-id-12036 #primary.padding-120,
    body.page-id-12032 #primary.padding-120,
    .page-content-wrap-12033.padding-120,
    .page-content-wrap-11576.padding-120,
    .page-content-wrap-12034.padding-120,
    .page-content-wrap-12035.padding-120,
    .page-content-wrap-12036.padding-120,
    .page-content-wrap-12032.padding-120 {
        padding-top: 20px !important;
        padding-bottom: 40px !important;
    }
    .oiota-press-page {
        padding: 0 15px 40px 15px !important;
    }
    .oiota-press-page .press-hero {
        margin-bottom: 25px !important;
    }
    .oiota-press-page .press-title {
        font-size: 28px !important;
        line-height: 36px !important;
    }
    .oiota-press-page .press-desc {
        font-size: 15px !important;
        line-height: 24px !important;
    }
    .oiota-press-page .press-grid {
        flex-direction: column !important;
        gap: 25px !important;
    }
    .oiota-press-page .press-card {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
    .oiota-press-page .featured-content {
        padding: 22px 20px !important;
    }
    .oiota-press-page .featured-content h3 {
        font-size: 20px !important;
        line-height: 28px !important;
    }
    .oiota-press-page .press-card-body {
        padding: 20px 20px !important;
    }
    .oiota-press-page .press-callout {
        padding: 28px 20px !important;
    }
}

@media (max-width: 575.98px) {
    .charifund-page-content-area.padding-120,
    #primary.charifund-page-content-area.padding-120,
    body.page-id-12033 #primary.padding-120,
    body.page-id-11576 #primary.padding-120,
    body.page-id-12034 #primary.padding-120,
    body.page-id-12035 #primary.padding-120,
    body.page-id-12036 #primary.padding-120,
    body.page-id-12032 #primary.padding-120,
    .page-content-wrap-12033.padding-120,
    .page-content-wrap-11576.padding-120,
    .page-content-wrap-12034.padding-120,
    .page-content-wrap-12035.padding-120,
    .page-content-wrap-12036.padding-120,
    .page-content-wrap-12032.padding-120 {
        padding-top: 15px !important;
        padding-bottom: 35px !important;
    }
    .oiota-press-page {
        padding: 0 10px 35px 10px !important;
    }
    .oiota-press-page .press-badge {
        font-size: 11px !important;
        padding: 5px 14px !important;
        margin-bottom: 12px !important;
    }
    .oiota-press-page .press-title {
        font-size: 24px !important;
        line-height: 32px !important;
        margin-bottom: 12px !important;
    }
    .oiota-press-page .press-desc {
        font-size: 14px !important;
        line-height: 22px !important;
    }
    .oiota-press-page .featured-press {
        border-radius: 14px !important;
        margin-bottom: 25px !important;
    }
    .oiota-press-page .press-card {
        border-radius: 14px !important;
    }
    .oiota-press-page .press-grid {
        gap: 20px !important;
        margin-bottom: 35px !important;
    }
    .oiota-press-page .press-actions {
        flex-direction: column !important;
    }
    .oiota-press-page .btn-press-primary,
    .oiota-press-page .btn-press-secondary {
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   Single Blog Post Typography - Section Headings & Spacing
   ========================================================================== */
.blog-single-content-wrap .entry-content h3,
.single-post .entry-content h3,
.blog-content-page .entry-content h3 {
    font-size: 24px !important;
    line-height: 1.36 !important;
    margin-top: 44px !important;
    margin-bottom: 18px !important;
    font-weight: 700 !important;
    color: var(--heading-color, #122f2a) !important;
    letter-spacing: -0.01em;
}

.blog-single-content-wrap .entry-content > h3:first-child,
.single-post .entry-content > h3:first-child {
    margin-top: 0 !important;
}

@media (max-width: 767.98px) {
    .blog-single-content-wrap .entry-content h3,
    .single-post .entry-content h3,
    .blog-content-page .entry-content h3 {
        font-size: 20px !important;
        line-height: 1.35 !important;
        margin-top: 34px !important;
        margin-bottom: 14px !important;
    }
}

/* ==========================================================================
   Header Top & Bottom Spacing Reduction (Preserving Menu & Logo Sizing)
   ========================================================================== */
.header .main-header__menu-box,
.header-secondary .main-header__menu-box {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Only apply reduced vertical padding to top-level menu items */
.header-secondary .navbar__list > .navbar__item > a,
.header .navbar__list > .navbar__item > a {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

/* Ensure sub-menu dropdown items retain their full original vertical spacing */
.header .navbar__sub-menu a,
.header-secondary .navbar__sub-menu a,
.navbar__sub-menu a {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* ==========================================================================
   Shared Component Styling (Badges, Buttons, Modals, Contact Strip)
   ========================================================================== */
.official-contact-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 16px 28px;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid rgba(0, 113, 93, 0.16);
    font-size: 14px;
    color: #1a3826;
    font-weight: 600;
}
.official-contact-strip span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1a3826;
}
.official-contact-strip span i {
    color: #00715D;
    font-size: 15px;
}
.official-contact-strip a {
    color: #1a3826;
    text-decoration: none;
    transition: color 0.2s ease;
}
.official-contact-strip a:hover {
    color: #00715D;
}

/* Ensure bright contrast on dark callout banners */
.testimonials-cta .official-contact-strip,
.news-footer-callout .official-contact-strip,
.feed-footer-callout .official-contact-strip {
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    color: #ffffff;
}
.testimonials-cta .official-contact-strip span,
.news-footer-callout .official-contact-strip span,
.feed-footer-callout .official-contact-strip span {
    color: #ffffff;
}
.testimonials-cta .official-contact-strip span i,
.news-footer-callout .official-contact-strip span i,
.feed-footer-callout .official-contact-strip span i {
    color: #ffd166;
}

/* Explicit high-contrast override on light callouts (e.g. Watch Our Videos & Press) */
.press-callout .official-contact-strip,
.oiota-press-page .press-callout .official-contact-strip {
    border-top: 1px solid rgba(0, 113, 93, 0.16) !important;
    color: #1a3826 !important;
}
.press-callout .official-contact-strip span,
.oiota-press-page .press-callout .official-contact-strip span {
    color: #1a3826 !important;
}
.press-callout .official-contact-strip span i,
.oiota-press-page .press-callout .official-contact-strip span i {
    color: #00715D !important;
}

/* Lightbox Modal */
.oiota-lightbox-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(10, 25, 20, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 999999;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
}
.oiota-lightbox-modal .modal-box {
    position: relative;
    background: #ffffff;
    border-radius: 16px;
    max-width: 820px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    padding: 30px;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.35);
    animation: oiotaModalFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.oiota-lightbox-modal .story-modal-box {
    max-width: 880px;
}
@keyframes oiotaModalFadeIn {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
.oiota-lightbox-modal .modal-close {
    position: absolute;
    top: 16px;
    right: 20px;
    background: #f0f4f2;
    border: none;
    font-size: 28px;
    line-height: 1;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1f4211;
    transition: all 0.2s ease;
}
.oiota-lightbox-modal .modal-close:hover {
    background: #00715D;
    color: #ffffff;
    transform: rotate(90deg);
}
.oiota-lightbox-modal .modal-img-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    background: #f8faf9;
    border-radius: 12px;
    padding: 15px;
    box-sizing: border-box;
}
.oiota-lightbox-modal .modal-img-wrap img {
    max-width: 100%;
    max-height: 70vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.oiota-lightbox-modal #modalTitle {
    font-size: 20px;
    font-weight: 700;
    color: #1f4211;
    margin-bottom: 16px;
    padding-right: 40px;
}

/* ==========================================================================
   Testimonials Page Styling (.oiota-testimonials-page)
   ========================================================================== */
.oiota-testimonials-page {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px 50px 15px;
    color: #2b332f;
}
.testimonials-hero {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 50px auto;
}
.testimonials-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 113, 93, 0.1);
    color: #00715D;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 7px 18px;
    border-radius: 50px;
    margin-bottom: 18px;
}
.testimonials-title {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.25;
    color: #1f4211;
    margin-bottom: 18px;
    letter-spacing: -0.02em;
}
.testimonials-lead {
    font-size: 16.5px;
    line-height: 1.7;
    color: #526058;
}

/* Slider Section */
.testimonial-slider-section {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid rgba(0, 113, 93, 0.12);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05);
    padding: 40px 35px;
    margin-bottom: 60px;
}
.section-tag-wrap {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 35px auto;
}
.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(122, 156, 90, 0.15);
    color: #326b1a;
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 6px 14px;
    border-radius: 30px;
    margin-bottom: 12px;
}
.section-heading {
    font-size: 28px;
    font-weight: 700;
    color: #1f4211;
    margin-bottom: 10px;
}
.section-sub {
    font-size: 15px;
    color: #63736b;
    line-height: 1.6;
}

/* Responsive Multi-Slide Swiper Carousel */
.testimonials-swiper-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
}
.testimonials-swiper {
    position: relative;
    width: 100%;
    padding: 10px 4px 20px 4px;
    overflow: hidden;
}
.testimonials-swiper .swiper-slide {
    height: auto;
    display: flex;
    box-sizing: border-box;
}
.testimonials-swiper .slide-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    background: #fbfdfc;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.testimonials-swiper .slide-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 113, 93, 0.08);
    border-color: #00715D;
}
.slide-img-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.05);
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center;
}
.slide-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fafcfb;
    display: block;
    transition: transform 0.35s ease;
}
.slide-img-wrapper:hover img {
    transform: scale(1.03);
}
.zoom-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(10, 35, 25, 0.9), transparent);
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    padding: 28px 15px 12px 15px;
    text-align: center;
    opacity: 0.9;
    transition: opacity 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}
.slide-img-wrapper:hover .zoom-overlay {
    opacity: 1;
}
.slide-info {
    margin-top: 16px;
    text-align: center;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.slide-tag {
    display: inline-block;
    align-self: center;
    background: rgba(0, 113, 93, 0.1);
    color: #00715D;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 8px;
}
.slide-info h4 {
    font-size: 18px;
    font-weight: 700;
    color: #1f4211;
    margin-bottom: 4px;
}
.slide-sub {
    font-size: 13.5px;
    color: #63736b;
    margin: 0;
    line-height: 1.5;
}

/* Swiper Controls (Prev/Next & Pagination) */
.testimonial-swiper-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 25px;
}
.testimonial-swiper-prev,
.testimonial-swiper-next {
    background: #f0f6f3;
    border: 1px solid rgba(0, 113, 93, 0.18);
    color: #00715D;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: all 0.25s ease;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}
.testimonial-swiper-prev:hover,
.testimonial-swiper-next:hover {
    background: #00715D;
    color: #ffffff;
    transform: scale(1.08);
}
.testimonial-swiper-pagination {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto !important;
}
.testimonial-swiper-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #c2d6cc;
    opacity: 1;
    cursor: pointer;
    transition: all 0.25s ease;
    margin: 0 !important;
}
.testimonial-swiper-pagination .swiper-pagination-bullet-active {
    width: 26px;
    border-radius: 12px;
    background: #00715D;
}

/* Quotes Grid */
.testimonial-quotes-section {
    margin-bottom: 60px;
}
.quotes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}
.quote-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    padding: 30px 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.quote-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    border-color: #7a9c5a;
}
.quote-card.featured-quote {
    border-color: #00715D;
    background: #f9fdfb;
}
.quote-rating {
    color: #f4b400;
    font-size: 14px;
    margin-bottom: 16px;
    display: flex;
    gap: 3px;
}
.quote-text {
    font-size: 15px;
    line-height: 1.7;
    color: #3b4742;
    font-style: italic;
    margin: 0 0 20px 0;
    flex-grow: 1;
}
.quote-author {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.author-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #00715D;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.author-meta h5 {
    font-size: 15px;
    font-weight: 700;
    color: #1f4211;
    margin: 0 0 2px 0;
}
.author-meta span {
    font-size: 12.5px;
    color: #63736b;
}

/* Callouts / CTAs */
.testimonials-cta,
.news-footer-callout,
.feed-footer-callout {
    background: linear-gradient(135deg, #1f4211 0%, #00715D 100%);
    border-radius: 20px;
    padding: 45px 35px;
    text-align: center;
    color: #ffffff;
    box-shadow: 0 15px 35px rgba(0, 113, 93, 0.2);
}
.testimonials-cta h3,
.news-footer-callout h3,
.feed-footer-callout h3 {
    font-size: 30px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 12px;
}
.testimonials-cta p,
.news-footer-callout p,
.feed-footer-callout p {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    max-width: 680px;
    margin: 0 auto 25px auto;
}
.cta-actions,
.news-callout-actions,
.feed-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* ==========================================================================
   News & Updates Page Styling (.oiota-news-blog-page)
   ========================================================================== */
.oiota-news-blog-page {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px 50px 15px;
}
.news-hero {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 50px auto;
}
.news-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 113, 93, 0.1);
    color: #00715D;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 7px 18px;
    border-radius: 50px;
    margin-bottom: 18px;
}
.news-title {
    font-size: 40px;
    font-weight: 800;
    color: #1f4211;
    margin-bottom: 16px;
    letter-spacing: -0.02em;
}
.news-desc {
    font-size: 16.5px;
    line-height: 1.7;
    color: #526058;
}

/* 3-Column Blog Cards Grid */
.news-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 60px;
}
.news-blog-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.news-blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.09);
    border-color: #00715D;
}
.news-card-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    background: #eef3f0;
    overflow: hidden;
}
.news-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.news-blog-card:hover .news-card-thumb img {
    transform: scale(1.05);
}
.news-pill-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: #00715D;
    color: #ffffff;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 5px 12px;
    border-radius: 20px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}
.news-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.news-post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12.5px;
    color: #72827a;
    margin-bottom: 12px;
}
.news-post-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.news-post-meta i {
    color: #00715D;
}
.news-card-title {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.4;
    color: #1f4211;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-card-excerpt {
    font-size: 14.5px;
    line-height: 1.65;
    color: #55635c;
    margin-bottom: 20px;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-card-footer {
    padding-top: 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.btn-read-story {
    background: none;
    border: none;
    padding: 0;
    color: #00715D;
    font-size: 14px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: gap 0.2s ease, color 0.2s ease;
}
.btn-read-story:hover {
    color: #1f4211;
    gap: 12px;
}

/* ==========================================================================
   Latest News & Global Impact Page Styling (.oiota-global-feed-page)
   ========================================================================== */
.oiota-global-feed-page {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 15px 50px 15px;
}
.feed-hero {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 40px auto;
}
.feed-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(15, 76, 129, 0.1);
    color: #0f4c81;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 7px 18px;
    border-radius: 50px;
    margin-bottom: 18px;
}
.feed-title {
    font-size: 40px;
    font-weight: 800;
    color: #1f4211;
    margin-bottom: 16px;
    letter-spacing: -0.02em;
}
.feed-desc {
    font-size: 16.5px;
    line-height: 1.7;
    color: #526058;
}

/* Category Filter Tabs */
.feed-tabs-wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
}
.feed-tab {
    background: #f0f5f2;
    border: 1px solid rgba(0, 113, 93, 0.15);
    color: #3b4742;
    font-size: 14.5px;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: 30px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.25s ease;
}
.feed-tab:hover {
    background: #e2ede6;
    color: #00715D;
}
.feed-tab.active {
    background: #00715D;
    color: #ffffff;
    border-color: #00715D;
    box-shadow: 0 4px 14px rgba(0, 113, 93, 0.3);
}

/* Featured Lead Story (2-Column with Photo & Quote) */
.feed-featured-card {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    display: grid;
    grid-template-columns: 46% 54%;
    margin-bottom: 48px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.feed-featured-card:hover {
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}
.featured-img-col {
    position: relative;
    overflow: hidden;
    min-height: 420px;
    background: #1c3d72;
}
.featured-img-wrap {
    width: 100%;
    height: 100%;
    position: relative;
}
.featured-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}
.feed-featured-card:hover .featured-img-wrap img {
    transform: scale(1.05);
}
.featured-img-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.3) 40%, rgba(0,0,0,0.85) 100%);
    z-index: 1;
}
.featured-img-badges {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.featured-badge-topic {
    background: rgba(255, 255, 255, 0.22);
    color: #ffffff;
    backdrop-filter: blur(8px);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 5px 12px;
    border-radius: 20px;
}
.featured-quote-overlay {
    position: absolute;
    bottom: 22px;
    left: 22px;
    right: 22px;
    z-index: 2;
    color: #ffffff;
    font-size: 15px;
    font-style: italic;
    line-height: 1.55;
    text-shadow: 0 2px 8px rgba(0,0,0,0.6);
}
.featured-quote-overlay::before {
    content: "“";
    font-size: 38px;
    color: #7ee8a2;
    line-height: 0.8;
    display: block;
    margin-bottom: 6px;
    font-family: Georgia, serif;
}
.featured-body-col {
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.featured-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b55a30;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 12px;
}
.featured-body-col h2 {
    font-size: 25px;
    font-weight: 800;
    line-height: 1.35;
    color: #122f2a;
    margin-bottom: 14px;
}
.feed-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    font-size: 13px;
    color: #6d7b74;
    margin-bottom: 16px;
}
.feed-item-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.featured-summary {
    font-size: 15px;
    line-height: 1.7;
    color: #4a5751;
    margin: 0 0 24px 0;
}
.feed-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #00715D;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.25s ease;
    align-self: flex-start;
}
.feed-btn-primary:hover {
    background: #005a4a;
    transform: translateX(3px);
}

/* Feed Grid & Image Cards */
.feed-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    margin-bottom: 60px;
}
.feed-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.feed-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.1);
    border-color: #00715D;
}
.feed-card-img-wrap {
    position: relative;
    width: 100%;
    height: 205px;
    overflow: hidden;
    background: #e8edea;
}
.feed-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}
.feed-card:hover .feed-card-img-wrap img {
    transform: scale(1.08);
}
.feed-card-badge-wrap {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
}
.feed-card-body {
    padding: 22px 20px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.feed-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 12px;
}
.feed-source-tag {
    color: #00715D;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.feed-date {
    color: #88968f;
    font-weight: 500;
}
.feed-card h3 {
    font-size: 16.5px;
    font-weight: 700;
    line-height: 1.4;
    color: #122f2a;
    margin-bottom: 10px;
}
.feed-card p {
    font-size: 13.5px;
    line-height: 1.65;
    color: #55635c;
    margin: 0 0 16px 0;
    flex: 1;
}
.feed-card-footer {
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    margin-top: auto;
}
.feed-card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #00715D;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: gap 0.2s ease, color 0.2s ease;
}
.feed-card-link:hover {
    color: #005a4a;
    gap: 10px;
}
.pill-tag {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 4px 10px;
    border-radius: 15px;
}
.pill-tag.usa {
    background: rgba(15, 76, 129, 0.14);
    color: #0f4c81;
}
.pill-tag.africa {
    background: rgba(0, 113, 93, 0.14);
    color: #00715D;
}
.pill-tag.maternal {
    background: rgba(181, 90, 48, 0.14);
    color: #b55a30;
}
.feed-card-badge-wrap .pill-tag {
    color: #ffffff !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.6px !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
    backdrop-filter: blur(6px) !important;
}
.feed-card-badge-wrap .pill-tag.usa {
    background: rgba(28, 61, 114, 0.88) !important;
}
.feed-card-badge-wrap .pill-tag.africa {
    background: rgba(26, 92, 56, 0.88) !important;
}
.feed-card-badge-wrap .pill-tag.maternal {
    background: rgba(181, 83, 9, 0.88) !important;
}

/* ==========================================================================
   Responsive Media Queries for the 4 Pages
   ========================================================================== */
@media (max-width: 991px) {
    .news-blog-grid,
    .feed-grid,
    .quotes-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    .feed-featured-card {
        grid-template-columns: 1fr !important;
    }
    .featured-img-col {
        min-height: 300px !important;
    }
    .featured-body-col {
        padding: 30px 24px !important;
    }
    .testimonials-title,
    .news-title,
    .feed-title {
        font-size: 32px !important;
    }
    .slide-img-wrapper img {
        height: 320px !important;
    }
}

@media (max-width: 767px) {
    .news-blog-grid,
    .feed-grid,
    .quotes-grid {
        grid-template-columns: 1fr !important;
    }
    .testimonials-title,
    .news-title,
    .feed-title {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }
    .testimonials-lead,
    .news-desc,
    .feed-desc {
        font-size: 14.5px !important;
    }
    .testimonial-slider-section {
        padding: 25px 18px !important;
    }
    .slide-card {
        padding: 16px !important;
    }
    .slide-img-wrapper img {
        height: 250px !important;
    }
    .feed-featured-card {
        padding: 24px 18px !important;
    }
    .feed-featured-card h2 {
        font-size: 20px !important;
    }
    .testimonials-cta,
    .news-footer-callout,
    .feed-footer-callout {
        padding: 30px 20px !important;
    }
    .official-contact-strip {
        flex-direction: column !important;
        gap: 12px !important;
        align-items: center !important;
        text-align: center !important;
    }
    .cta-actions a,
    .news-callout-actions a,
    .feed-actions a {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ==========================================================================
   Header Search Removal
   ========================================================================== */
.search-box,
.open-search,
.navbar__options .search-box {
    display: none !important;
}

/* ==========================================================================
   Footer Newsletter Form Styling - Resilient Flex Layout with Validation Fix
   ========================================================================== */
.footer-two__newsletter-form,
.footer__newsletter-form,
.footer-three__widget--newsletter {
    width: 100%;
}

.footer-two__newsletter-form form.wpcf7-form,
.footer__newsletter-form form.wpcf7-form,
.footer-three__widget--newsletter form.wpcf7-form {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
    position: relative !important;
}

/* Input container */
.footer-two__newsletter-form .input-icon,
.footer__newsletter-form .input-icon,
.footer-three__widget--newsletter .input-icon {
    flex: 1 1 220px !important;
    min-width: 0 !important;
    position: relative !important;
    margin: 0 !important;
}

.footer-two__newsletter-form .input-icon .wpcf7-form-control-wrap,
.footer__newsletter-form .input-icon .wpcf7-form-control-wrap,
.footer-three__widget--newsletter .input-icon .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    position: relative !important;
}

.footer-two__newsletter-form .input-icon input[type="email"],
.footer__newsletter-form .input-icon input[type="email"],
.footer-three__widget--newsletter .input-icon input[type="email"] {
    width: 100% !important;
    height: 54px !important;
    padding: 12px 18px 12px 48px !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #122f2a !important;
    border: 1.5px solid transparent !important;
    outline: none !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.footer-two__newsletter-form .input-icon input[type="email"]:focus,
.footer__newsletter-form .input-icon input[type="email"]:focus {
    border-color: #72a348 !important;
    box-shadow: 0 0 0 3px rgba(114, 163, 72, 0.25) !important;
}

/* When input is invalid, highlight border subtly */
.footer-two__newsletter-form .input-icon input.wpcf7-not-valid,
.footer__newsletter-form .input-icon input.wpcf7-not-valid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.25) !important;
}

/* Lock envelope icon to vertical center of 54px input (27px), never shifting when tip appears */
.footer-two__newsletter-form .input-icon i,
.footer__newsletter-form .input-icon i,
.footer-three__widget--newsletter .input-icon i {
    position: absolute !important;
    left: 18px !important;
    top: 27px !important;
    transform: translateY(-50%) !important;
    color: #046a58 !important;
    font-size: 17px !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

/* Inline field validation tip ("Please fill out this field") */
.footer-two__newsletter-form .wpcf7-not-valid-tip,
.footer__newsletter-form .wpcf7-not-valid-tip,
.footer-three__widget--newsletter .wpcf7-not-valid-tip {
    display: block !important;
    color: #ff8080 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-top: 6px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

/* Subscribe Button */
.footer-two__newsletter-form form button[type="submit"],
.footer-two__newsletter-form form .btn--primary,
.footer__newsletter-form form button[type="submit"],
.footer__newsletter-form form .btn--primary,
.footer-three__widget--newsletter form button[type="submit"] {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    height: 54px !important;
    padding: 14px 28px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    margin: 0 !important;
    align-self: flex-start !important;
}

/* CF7 Response Output: Always wraps below the input and button, full width */
.footer-two__newsletter-form .wpcf7-response-output,
.footer__newsletter-form .wpcf7-response-output,
.footer-three__widget--newsletter .wpcf7-response-output {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 12px 0 0 0 !important;
    padding: 10px 16px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    order: 99 !important;
    clear: both !important;
}

/* Hide response output if untouched or empty */
.footer-two__newsletter-form form.init .wpcf7-response-output,
.footer-two__newsletter-form .wpcf7-response-output:empty,
.footer__newsletter-form form.init .wpcf7-response-output,
.footer-three__widget--newsletter form.init .wpcf7-response-output {
    display: none !important;
}

/* Status: Invalid / Validation Error */
.footer-two__newsletter-form form.invalid .wpcf7-response-output,
.footer-two__newsletter-form form.unaccepted .wpcf7-response-output,
.footer__newsletter-form form.invalid .wpcf7-response-output {
    border: 1px solid rgba(245, 158, 11, 0.7) !important;
    background: rgba(245, 158, 11, 0.12) !important;
    color: #fef3c7 !important;
    display: block !important;
}

/* Status: Failed / Server error */
.footer-two__newsletter-form form.failed .wpcf7-response-output,
.footer-two__newsletter-form form.spam .wpcf7-response-output,
.footer__newsletter-form form.failed .wpcf7-response-output {
    border: 1px solid rgba(239, 68, 68, 0.7) !important;
    background: rgba(239, 68, 68, 0.15) !important;
    color: #fecaca !important;
    display: block !important;
}

/* Status: Success / Sent */
.footer-two__newsletter-form form.sent .wpcf7-response-output,
.footer__newsletter-form form.sent .wpcf7-response-output,
.footer-three__widget--newsletter form.sent .wpcf7-response-output {
    border: 1px solid rgba(16, 185, 129, 0.7) !important;
    background: rgba(16, 185, 129, 0.15) !important;
    color: #d1fae5 !important;
    display: block !important;
}

/* Mobile responsive */
@media (max-width: 767px) {
    .footer-two__newsletter-form form.wpcf7-form,
    .footer__newsletter-form form.wpcf7-form,
    .footer-three__widget--newsletter form.wpcf7-form {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
    }
    .footer-two__newsletter-form form button[type="submit"],
    .footer-two__newsletter-form form .btn--primary,
    .footer__newsletter-form form button[type="submit"],
    .footer__newsletter-form form .btn--primary {
        width: 100% !important;
    }
}

/* ==========================================================================
   Elementor Container Boxed Layout Fallback Protection
   ========================================================================== */
.e-con {
    --container-max-width: 1320px;
}
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1320px;
}
.e-con-boxed > .e-con-inner {
    max-width: 1320px;
    margin-inline: auto;
}
@media (min-width: 768px) {
    .elementor-11417 .elementor-element.elementor-element-bd05c8c,
    .elementor-11417 .elementor-element.elementor-element-572815b,
    .elementor-11417 .elementor-element.elementor-element-d317ba5,
    .elementor-11417 .elementor-element.elementor-element-e930e06,
    .elementor-11417 .elementor-element.elementor-element-81a3b2a {
        --content-width: 1320px;
    }
}

/* =============================================================
   GLOBAL HEADER & LOGO SPACING (Desktop & Mobile)
   ============================================================= */

/* Desktop Header (>= 992px) */
@media screen and (min-width: 992px) {
    .header .main-header__menu-box,
    .header-secondary .main-header__menu-box {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
        padding-left: 30px !important;
        padding-right: 30px !important;
        height: auto !important;
    }
    .main-header .logo-box img,
    .main-header .logo img,
    .logo-box img,
    .logo img,
    .site-brand img,
    .navbar-brand img,
    header img,
    .header .navbar-logo img,
    .custom-logo {
        height: 120px !important;
        max-height: 120px !important;
        min-height: 120px !important;
        width: auto !important;
        max-width: none !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 !important;
    }
}

/* Mobile Header (<= 991px) */
@media screen and (max-width: 991px) {
    .header .main-header__menu-box,
    .header-secondary .main-header__menu-box {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        min-height: auto !important;
        height: auto !important;
    }
    .header .navbar {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 !important;
    }
    .header .navbar-logo {
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .main-header .logo-box img,
    .main-header .logo img,
    .logo-box img,
    .logo img,
    .site-brand img,
    .navbar-brand img,
    header img,
    .header .navbar-logo img,
    .custom-logo {
        height: 90px !important;
        max-height: 90px !important;
        min-height: 70px !important;
        width: auto !important;
        max-width: calc(100vw - 110px) !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 !important;
    }
}

/* Extra Small Mobile (<= 576px) */
@media screen and (max-width: 576px) {
    .header .main-header__menu-box,
    .header-secondary .main-header__menu-box {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    .main-header .logo-box img,
    .main-header .logo img,
    .logo-box img,
    .logo img,
    .site-brand img,
    .navbar-brand img,
    header img,
    .header .navbar-logo img,
    .custom-logo {
        height: 75px !important;
        max-height: 75px !important;
        min-height: 60px !important;
        max-width: calc(100vw - 90px) !important;
        width: auto !important;
        object-fit: contain !important;
    }
}

/* =============================================================
   ABOUT US PAGE STYLING (Card Sections, Badges, 2-Column Layout)
   ============================================================= */
.page-id-11918 .charifund-page-content-area,
.about-page-content-area {
    padding-top: 70px !important;
    padding-bottom: 90px !important;
    background-color: #fafbfc;
}

.about-page-wrapper {
    max-width: 1220px;
    margin: 0 auto;
    font-family: 'Outfit', sans-serif;
}

.about-card-section {
    background: #ffffff;
    border-radius: 24px;
    padding: 55px;
    margin-bottom: 50px;
    box-shadow: 0 12px 40px rgba(18, 47, 42, 0.05);
    border: 1px solid rgba(0, 113, 93, 0.09);
    display: flex;
    align-items: center;
    gap: 60px;
    transition: all 0.35s ease;
    position: relative;
    overflow: hidden;
}

.about-card-section:hover {
    box-shadow: 0 20px 50px rgba(18, 47, 42, 0.09);
    border-color: rgba(0, 113, 93, 0.2);
    transform: translateY(-3px);
}

.about-card-section.reverse {
    flex-direction: row-reverse;
}

.about-text-content {
    flex: 1.25;
}

.about-image-wrapper {
    flex: 0.95;
    position: relative;
}

/* Kicker Badge */
.about-kicker-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(0, 113, 93, 0.08);
    color: #00715D;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding: 7px 18px;
    border-radius: 30px;
    margin-bottom: 18px;
    border: 1px solid rgba(0, 113, 93, 0.15);
}

.about-kicker-badge i {
    font-size: 14px;
    color: #FFA415;
}

/* Heading */
.about-section-title {
    font-family: 'Outfit', 'Recoleta', sans-serif;
    font-size: 34px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    line-height: 1.25 !important;
    margin-bottom: 22px !important;
    letter-spacing: -0.3px;
}

.about-section-title .theme-accent {
    color: #00715D;
    position: relative;
    display: inline-block;
}

/* Uniform Content Text Size */
.about-description-text {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #55625e !important;
    font-weight: 400 !important;
    margin-bottom: 16px !important;
}

.about-description-text:last-of-type {
    margin-bottom: 0 !important;
}

/* Highlight Features / Pillars */
.about-features-list {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eef3f1;
}

.about-feature-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f4f9f7;
    border: 1px solid #d9ebe5;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 13.5px;
    font-weight: 600;
    color: #122F2A;
}

.about-feature-pill i {
    color: #00715D;
    font-size: 13px;
}

/* Image Presentation */
.about-img-frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.1);
    background: #e8edea;
}

.about-img-frame img {
    width: 100% !important;
    height: 400px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.about-card-section:hover .about-img-frame img {
    transform: scale(1.04);
}

/* Floating Overlay Badge */
.about-img-floating-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(18, 47, 42, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
    border-left: 4px solid #FFA415;
    display: flex;
    flex-direction: column;
}

.about-img-floating-badge .badge-sub {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #FFA415;
    font-weight: 700;
}

.about-img-floating-badge .badge-main {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
    .about-card-section,
    .about-card-section.reverse {
        flex-direction: column !important;
        padding: 35px 25px;
        gap: 35px;
    }
    .about-text-content,
    .about-image-wrapper {
        width: 100%;
        flex: none;
    }
    .about-section-title {
        font-size: 28px !important;
    }
    .about-img-frame img {
        height: 320px !important;
    }
}




/* ==========================================================================
   Our Beliefs Page Styling (Matches Charifund Theme Aesthetic)
   ========================================================================== */
.page-id-11979 .charifund-page-content-area {
    padding-top: 60px !important;
    padding-bottom: 90px !important;
    background-color: #fafbfc;
}

.beliefs-page-wrapper {
    max-width: 1220px;
    margin: 0 auto;
    font-family: inherit;
}

/* Header Banner Section */
.beliefs-intro-section {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 55px auto;
}

.beliefs-kicker-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(122, 156, 90, 0.12);
    color: #7a9c5a;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding: 7px 18px;
    border-radius: 30px;
    margin-bottom: 18px;
    border: 1px solid rgba(122, 156, 90, 0.25);
}

.beliefs-kicker-badge i {
    font-size: 14px;
    color: #7a9c5a;
}

.beliefs-main-title {
    font-family: inherit;
    font-size: 38px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    line-height: 1.25 !important;
    margin-bottom: 18px !important;
    letter-spacing: -0.3px;
}

.beliefs-main-title .theme-accent {
    color: #7a9c5a !important;
    display: inline-block;
}

.beliefs-intro-lead {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #55625e !important;
    font-weight: 400 !important;
    margin: 0 auto !important;
}

/* 5 Core Pillars Grid */
.beliefs-grid-top-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 30px;
}

.beliefs-grid-bottom-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    max-width: 820px;
    margin: 0 auto 60px auto;
}

.belief-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 38px 30px;
    box-shadow: 0 10px 32px rgba(18, 47, 42, 0.04);
    border: 1px solid rgba(122, 156, 90, 0.16);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.35s ease;
    overflow: hidden;
}

.belief-card:hover {
    box-shadow: 0 20px 45px rgba(18, 47, 42, 0.09);
    border-color: rgba(122, 156, 90, 0.4);
    transform: translateY(-4px);
}

.belief-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 22px;
}

.belief-icon-box {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: rgba(122, 156, 90, 0.12);
    border: 1px solid rgba(122, 156, 90, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #7a9c5a;
    transition: all 0.35s ease;
}

.belief-card:hover .belief-icon-box {
    background: #7a9c5a;
    color: #ffffff;
    transform: scale(1.06);
}

.belief-pill-number {
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #7a9c5a;
    background: #f7faf4;
    padding: 5px 13px;
    border-radius: 20px;
    border: 1px solid #dce8d3;
}

.belief-card-title {
    font-family: inherit;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    margin-bottom: 6px !important;
}

.belief-card-tagline {
    font-size: 13.5px;
    font-weight: 600;
    color: #7a9c5a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.belief-card-statement {
    font-size: 15.5px !important;
    line-height: 1.75 !important;
    color: #55625e !important;
    margin-bottom: 20px !important;
    flex-grow: 1;
}

.belief-card-bullets {
    border-top: 1px solid #eef3f1;
    padding-top: 16px;
    margin-top: auto;
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.belief-card-bullets li {
    font-size: 13.5px;
    color: #4a5451;
    line-height: 1.6;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.belief-card-bullets li:last-child {
    margin-bottom: 0;
}

.belief-card-bullets li i {
    color: #7a9c5a;
    font-size: 12px;
}

/* Impact Action Section (2-Column Showcase) */
.beliefs-showcase-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 50px;
    box-shadow: 0 12px 40px rgba(18, 47, 42, 0.05);
    border: 1px solid rgba(122, 156, 90, 0.16);
    display: flex;
    align-items: center;
    gap: 60px;
    margin-top: 0;
    margin-bottom: 55px;
    position: relative;
    overflow: hidden;
}

.beliefs-showcase-image {
    flex: 0.95;
    position: relative;
}

.beliefs-showcase-text {
    flex: 1.25;
}

.beliefs-img-frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.1);
    background: #e8edea;
}

.beliefs-img-frame img {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.beliefs-showcase-card:hover .beliefs-img-frame img {
    transform: scale(1.04);
}

.beliefs-floating-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(18, 47, 42, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
    border-left: 4px solid #7a9c5a;
    display: flex;
    flex-direction: column;
}

.beliefs-floating-badge .badge-sub {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #7a9c5a;
    font-weight: 700;
}

.beliefs-floating-badge .badge-main {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
}

.beliefs-action-buttons {
    display: flex;
    gap: 15px;
    margin-top: 25px;
    flex-wrap: wrap;
}

.beliefs-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #7a9c5a;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    padding: 13px 28px;
    border-radius: 30px;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(122, 156, 90, 0.25);
}

.beliefs-btn-primary:hover {
    background: #6a8b4b;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(122, 156, 90, 0.35);
}

.beliefs-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f7faf4;
    color: #122F2A !important;
    font-size: 15px;
    font-weight: 600;
    padding: 13px 26px;
    border-radius: 30px;
    border: 1px solid #dce8d3;
    transition: all 0.3s ease;
    text-decoration: none;
}

.beliefs-btn-secondary:hover {
    background: #eef5e9;
    border-color: #c8dec0;
    color: #122F2A !important;
    transform: translateY(-2px);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .beliefs-grid-top-row,
    .beliefs-grid-bottom-row {
        grid-template-columns: 1fr;
        margin-bottom: 25px;
    }
    .beliefs-showcase-card {
        flex-direction: column !important;
        padding: 35px 25px;
        gap: 35px;
    }
    .beliefs-showcase-text,
    .beliefs-showcase-image {
        width: 100%;
        flex: none;
    }
    .beliefs-img-frame img {
        height: 300px !important;
    }
    .beliefs-main-title {
        font-size: 28px !important;
    }
}

/* ==========================================================================
   Universal OIOTA Content Pages Design System
   (Applies to: SDGs, UN Rights, Give a Gift, Get Involved,
    Join Us, Host Fundraiser, Corporate Partner, Work With Us)
   ========================================================================== */

/* Page Container Padding */
.page-id-1797 .charifund-page-content-area,
.page-id-1198 .charifund-page-content-area,
.page-id-11993 .charifund-page-content-area,
.page-id-11994 .charifund-page-content-area,
.page-id-11995 .charifund-page-content-area,
.page-id-11996 .charifund-page-content-area,
.page-id-11997 .charifund-page-content-area,
.page-id-11998 .charifund-page-content-area {
    padding-top: 60px !important;
    padding-bottom: 90px !important;
    background-color: #fafbfc;
}

.oiota-page-wrapper {
    max-width: 1220px;
    margin: 0 auto;
    font-family: inherit;
}

/* 2-Column Hero / Showcase Card */
.oiota-hero-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 50px;
    box-shadow: 0 12px 40px rgba(18, 47, 42, 0.05);
    border: 1px solid rgba(122, 156, 90, 0.16);
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 50px;
    position: relative;
    overflow: hidden;
    transition: all 0.35s ease;
}

.oiota-hero-card:hover {
    box-shadow: 0 20px 50px rgba(18, 47, 42, 0.09);
    border-color: rgba(122, 156, 90, 0.35);
    transform: translateY(-3px);
}

.oiota-hero-card.reverse {
    flex-direction: row-reverse;
}

.oiota-hero-text {
    flex: 1.25;
}

.oiota-hero-image {
    flex: 0.95;
    position: relative;
}

/* Header Badges */
.oiota-kicker-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(122, 156, 90, 0.12);
    color: #7a9c5a;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding: 7px 18px;
    border-radius: 30px;
    margin-bottom: 18px;
    border: 1px solid rgba(122, 156, 90, 0.25);
}

.oiota-kicker-badge i {
    font-size: 14px;
    color: #7a9c5a;
}

/* Headings */
.oiota-section-title {
    font-family: inherit;
    font-size: 34px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    line-height: 1.25 !important;
    margin-bottom: 20px !important;
    letter-spacing: -0.3px;
}

.oiota-section-title .theme-accent {
    color: #7a9c5a !important;
    display: inline-block;
}

/* Section Header (Centered) */
.oiota-intro-header {
    text-align: center;
    max-width: 860px;
    margin: 0 auto 50px auto;
}

.oiota-intro-lead {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #55625e !important;
    font-weight: 400 !important;
    margin: 0 auto !important;
}

/* Body Text - Strictly 16px */
.oiota-description-text {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #55625e !important;
    font-weight: 400 !important;
    margin-bottom: 16px !important;
}

.oiota-description-text:last-of-type {
    margin-bottom: 0 !important;
}

/* Features List & Pills */
.oiota-features-list {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eef3f1;
}

.oiota-feature-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f7faf4;
    border: 1px solid #dce8d3;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 13.5px;
    font-weight: 600;
    color: #122F2A;
}

.oiota-feature-pill i {
    color: #7a9c5a;
    font-size: 13px;
}

/* Framed Images */
.oiota-img-frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.1);
    background: #e8edea;
}

.oiota-img-frame img {
    width: 100% !important;
    height: 400px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.oiota-hero-card:hover .oiota-img-frame img {
    transform: scale(1.04);
}

/* Floating Image Badges */
.oiota-floating-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(18, 47, 42, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
    border-left: 4px solid #7a9c5a;
    display: flex;
    flex-direction: column;
}

.oiota-floating-badge .badge-sub {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #7a9c5a;
    font-weight: 700;
}

.oiota-floating-badge .badge-main {
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
}

/* Action Button Groups */
.oiota-action-buttons {
    display: flex;
    gap: 15px;
    margin-top: 25px;
    flex-wrap: wrap;
}

.oiota-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #7a9c5a;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    padding: 13px 28px;
    border-radius: 30px;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(122, 156, 90, 0.25);
}

.oiota-btn-primary:hover {
    background: #6a8b4b;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(122, 156, 90, 0.35);
}

.oiota-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f7faf4;
    color: #122F2A !important;
    font-size: 15px;
    font-weight: 600;
    padding: 13px 26px;
    border-radius: 30px;
    border: 1px solid #dce8d3;
    transition: all 0.3s ease;
    text-decoration: none;
}

.oiota-btn-secondary:hover {
    background: #eef5e9;
    border-color: #c8dec0;
    color: #122F2A !important;
    transform: translateY(-2px);
}

/* Grids */
.oiota-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

.oiota-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

/* Card Styling */
.oiota-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 35px 30px;
    box-shadow: 0 10px 32px rgba(18, 47, 42, 0.04);
    border: 1px solid rgba(122, 156, 90, 0.16);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.35s ease;
    overflow: hidden;
}

.oiota-card:hover {
    box-shadow: 0 20px 45px rgba(18, 47, 42, 0.09);
    border-color: rgba(122, 156, 90, 0.4);
    transform: translateY(-4px);
}

.oiota-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.oiota-card-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: rgba(122, 156, 90, 0.12);
    border: 1px solid rgba(122, 156, 90, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #7a9c5a;
    transition: all 0.35s ease;
}

.oiota-card:hover .oiota-card-icon {
    background: #7a9c5a;
    color: #ffffff;
    transform: scale(1.06);
}

.oiota-card-tag {
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #7a9c5a;
    background: #f7faf4;
    padding: 5px 13px;
    border-radius: 20px;
    border: 1px solid #dce8d3;
}

.oiota-card-title {
    font-family: inherit;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    margin-bottom: 6px !important;
}

.oiota-card-subtitle {
    font-size: 13.5px;
    font-weight: 600;
    color: #7a9c5a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 14px;
}

.oiota-card-body {
    font-size: 15.5px !important;
    line-height: 1.75 !important;
    color: #55625e !important;
    margin-bottom: 18px !important;
    flex-grow: 1;
}

.oiota-card-bullets {
    border-top: 1px solid #eef3f1;
    padding-top: 16px;
    margin-top: auto;
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.oiota-card-bullets li {
    font-size: 13.5px;
    color: #4a5451;
    line-height: 1.6;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.oiota-card-bullets li:last-child {
    margin-bottom: 0;
}

.oiota-card-bullets li i {
    color: #7a9c5a;
    font-size: 12px;
}

/* Numbered Process / Steps Container */
.oiota-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-top: 25px;
}

.oiota-step-card {
    background: #f7faf4;
    border: 1px solid #dce8d3;
    border-radius: 16px;
    padding: 24px 20px;
    position: relative;
    transition: all 0.3s ease;
}

.oiota-step-card:hover {
    background: #ffffff;
    border-color: #7a9c5a;
    box-shadow: 0 8px 24px rgba(122, 156, 90, 0.12);
    transform: translateY(-2px);
}

.oiota-step-badge {
    width: 32px;
    height: 32px;
    background: #7a9c5a;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.oiota-step-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    margin-bottom: 8px !important;
}

.oiota-step-desc {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: #55625e !important;
    margin-bottom: 0 !important;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .oiota-hero-card,
    .oiota-hero-card.reverse {
        flex-direction: column !important;
        padding: 35px 25px;
        gap: 35px;
    }
    .oiota-hero-text,
    .oiota-hero-image {
        width: 100%;
        flex: none;
    }
    .oiota-img-frame img {
        height: 300px !important;
    }
    .oiota-section-title {
        font-size: 28px !important;
    }
    .oiota-grid-3,
    .oiota-grid-2,
    .oiota-steps-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ==========================================================================
   OIOTA FAQ Page & Right Block Design Enhancements
   ========================================================================== */
.page-id-795 .faq,
.faq {
    position: relative;
    padding: 80px 0 100px;
}

.faq .row.align-items-center {
    align-items: flex-start !important;
}

.faq-sidebar-col {
    position: relative;
}

.faq .faq__thumb {
    position: sticky;
    top: 110px;
    z-index: 10;
}

.faq .faq__thumb-inner {
    min-width: unset !important;
    position: relative;
    display: inline-block;
    width: 100%;
}

.faq .faq__thumb-inner .thumb-lg {
    position: relative;
    display: inline-block;
    border: 8px solid #ffffff;
    border-radius: 20px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
    overflow: hidden;
    width: 320px;
    max-width: 100%;
}

.faq .faq__thumb-inner .thumb-lg img {
    width: 100% !important;
    height: 440px !important;
    display: block;
    object-fit: cover;
    object-position: top center;
}

.faq .faq__thumb-inner .thumb-sm {
    position: absolute;
    top: 60px;
    inset-inline-start: 42%;
    border: 8px solid #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.28);
    overflow: hidden;
    width: 240px;
    max-width: 75%;
    z-index: 3;
}

.faq .faq__thumb-inner .thumb-sm img {
    width: 100% !important;
    height: 250px !important;
    display: block;
    object-fit: cover;
    object-position: top center;
}

.faq .faq__thumb-inner .thumb-lg::before {
    background-color: #7a9c5a !important;
    bottom: -15px;
    inset-inline-end: -20px;
    width: 14px;
    height: 150px;
    border-radius: 10px;
    z-index: 1;
}

/* Floating Image Badges */
.faq-thumb-badge {
    position: absolute;
    bottom: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    background: rgba(18, 47, 42, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    z-index: 5;
    letter-spacing: 0.3px;
    text-transform: none !important;
}

.faq-thumb-badge i {
    color: #7a9c5a;
    font-size: 13px;
}

.faq-thumb-badge--accent {
    bottom: 12px;
    left: 12px;
    padding: 5px 12px;
    font-size: 11.5px;
}

.faq-thumb-badge--accent i {
    color: #FFA415;
}

/* Support Card in Right Block */
.faq__support-card,
.faq__mobile-support {
    margin-top: 25px;
    width: 100%;
    max-width: 420px;
    background: #ffffff;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(122, 156, 90, 0.25);
    position: relative;
    z-index: 5;
}

.faq__support-card *,
.faq__mobile-support * {
    text-transform: none !important;
}

.faq__support-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.faq__support-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(122, 156, 90, 0.12);
    color: #7a9c5a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.faq__support-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    margin: 0 0 4px !important;
    font-family: 'Outfit', sans-serif;
    letter-spacing: -0.2px;
}

.faq__support-desc {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #667085 !important;
    margin: 0 !important;
}

.faq__support-contacts {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
    padding-top: 14px;
    border-top: 1px solid #f0f2f5;
}

.faq__contact-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    font-weight: 600;
    color: #122F2A;
    text-decoration: none;
    transition: all 0.2s;
}

.faq__contact-btn i {
    color: #7a9c5a;
    font-size: 14px;
    width: 16px;
}

.faq__contact-btn:hover {
    color: #7a9c5a;
    transform: translateX(3px);
}

.faq__support-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    background: #7a9c5a;
    color: #ffffff !important;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.25s, transform 0.2s, box-shadow 0.25s;
    box-shadow: 0 6px 18px rgba(122, 156, 90, 0.35);
}

.faq__support-cta:hover {
    background: #648148;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(122, 156, 90, 0.45);
    color: #ffffff !important;
}

/* Mobile Support Card */
.faq__mobile-support {
    background: #ffffff;
    border-radius: 20px;
    padding: 22px 24px;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(122, 156, 90, 0.25);
}

/* Accordion Design Polish */
.faq .accordion-item {
    border: 1px solid #e5e9ea;
    border-radius: 18px !important;
    margin-bottom: 18px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(18, 47, 42, 0.03);
    transition: all 0.3s ease;
}

.faq .accordion-item:hover {
    border-color: rgba(122, 156, 90, 0.4);
    box-shadow: 0 8px 25px rgba(18, 47, 42, 0.07);
}

.faq .accordion-item .accordion-button {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    padding: 18px 26px !important;
    border-radius: 18px !important;
    background-color: #ffffff;
}

.faq .accordion-item .accordion-button:not(.collapsed) {
    background-color: #122F2A !important;
    color: #ffffff !important;
    border-bottom: 2px solid #7a9c5a !important;
    border-radius: 18px 18px 0 0 !important;
}

.faq .accordion-item .accordion-button:not(.collapsed)::after {
    color: #7a9c5a !important;
}

.faq .accordion-body {
    padding: 22px 28px !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #55625e !important;
}

.faq .accordion-body p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #55625e !important;
    margin-bottom: 0 !important;
}

.faq .accordion-body a {
    color: #7a9c5a !important;
    font-weight: 600;
    text-decoration: underline;
}

/* Title & Subtitle Polish */
.page-id-795 .title-animation,
.page-id-795 .title-animation *,
.faq .title-animation,
.faq .title-animation * {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.faq .section__content .sub-title {
    color: #7a9c5a !important;
    font-weight: 700 !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.faq .section__content .sub-title i {
    color: #7a9c5a !important;
}

.faq .section__content h2 {
    font-size: 38px !important;
    font-weight: 700 !important;
    color: #122F2A !important;
    margin-bottom: 30px !important;
    line-height: 1.25 !important;
}

.faq .section__content h2 span {
    color: #7a9c5a !important;
}

/* Common Banner Title Animation Fallback */
.common-banner .title-animation,
.common-banner .title-animation * {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ==========================================================================
   OIOTA Donate Now Landing Page Styles (.oiota-donate-page)
   ========================================================================== */
.oiota-donate-page {
    font-family: var(--nunito), sans-serif;
    color: #444;
}
.oiota-donate-page .hero-section {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 80px;
}
.oiota-donate-page .hero-content {
    flex: 1.2;
}
.oiota-donate-page .hero-tag {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #7a9c5a;
    background: rgba(122, 156, 90, 0.1);
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 15px;
}
.oiota-donate-page .hero-title {
    font-size: 38px;
    line-height: 48px;
    font-weight: 800;
    color: #122f2a;
    margin-bottom: 20px;
}
.oiota-donate-page .hero-desc {
    font-size: 19px;
    line-height: 30px;
    color: #555;
    margin-bottom: 30px;
}
.oiota-donate-page .btn-donate {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #7a9c5a;
    color: #fff !important;
    padding: 14px 32px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(122, 156, 90, 0.2);
    text-decoration: none;
}
.oiota-donate-page .btn-donate:hover {
    background: #658249;
    transform: translateY(-2px);
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(122, 156, 90, 0.3);
}
.oiota-donate-page .hero-image-col {
    flex: 0.8;
}
.oiota-donate-page .hero-image {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
    transition: transform 0.5s ease;
}
.oiota-donate-page .hero-image:hover {
    transform: scale(1.02);
}
.oiota-donate-page .section-title {
    font-size: 28px;
    font-weight: 800;
    color: #122f2a;
    text-align: left;
    margin-bottom: 40px;
}
.oiota-donate-page .causes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 80px;
}
.oiota-donate-page .cause-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.02);
    transition: all 0.3s ease;
}
.oiota-donate-page .cause-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
    border-color: #7a9c5a;
}
.oiota-donate-page .cause-card-img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 20px;
}
.oiota-donate-page .cause-card h3 {
    font-size: 20px;
    font-weight: 700;
    color: #122f2a;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.oiota-donate-page .cause-card p {
    font-size: 15px;
    line-height: 24px;
    color: #666;
    margin: 0;
}
.oiota-donate-page .programs-container {
    display: flex;
    flex-direction: column;
    margin-bottom: 80px;
}
.oiota-donate-page .program-row {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 120px;
}
.oiota-donate-page .program-row:last-child {
    margin-bottom: 0;
}
.oiota-donate-page .program-row.even {
    flex-direction: row-reverse;
}
.oiota-donate-page .program-image-col {
    flex: 1;
}
.oiota-donate-page .program-image {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
    transition: transform 0.5s ease;
}
.oiota-donate-page .program-image:hover {
    transform: scale(1.02);
}
.oiota-donate-page .program-content-col {
    flex: 1.1;
}
.oiota-donate-page .program-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #7a9c5a;
    background: rgba(122, 156, 90, 0.08);
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 12px;
}
.oiota-donate-page .program-title {
    font-size: 24px;
    font-weight: 800;
    color: #122f2a;
    margin-bottom: 15px;
}
.oiota-donate-page .program-desc {
    font-size: 16px;
    line-height: 28px;
    color: #555;
    margin-bottom: 25px;
}
.oiota-donate-page .btn-program-donate {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #7a9c5a;
    color: #fff !important;
    padding: 10px 24px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 14px;
    transition: all 0.3s ease;
    text-decoration: none;
}
.oiota-donate-page .btn-program-donate:hover {
    background: #658249;
    transform: translateY(-2px);
    color: #fff !important;
}
.oiota-donate-page .options-section {
    display: flex;
    gap: 40px;
    margin-bottom: 80px;
}
.oiota-donate-page .option-box {
    flex: 1;
    background: #ffffff;
    padding: 40px;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}
.oiota-donate-page .zelle-box {
    border-left: 5px solid #743cbd;
    background: #fdfcff;
}
.oiota-donate-page .zelle-title {
    font-size: 22px;
    color: #4c1d95;
    font-weight: 700;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.oiota-donate-page .zelle-desc {
    font-size: 16px;
    line-height: 26px;
    color: #555;
    margin-bottom: 20px;
}
.oiota-donate-page .zelle-email {
    font-size: 22px;
    font-weight: 800;
    color: #1e1b4b;
    background: #f5f2fa;
    padding: 15px;
    border-radius: 10px;
    text-align: center;
    border: 1px dashed #743cbd;
    letter-spacing: 0.5px;
}
.oiota-donate-page .qr-box {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.oiota-donate-page .qr-img {
    max-width: 140px;
    height: auto;
    margin-bottom: 15px;
}
.oiota-donate-page .qr-title {
    font-size: 20px;
    font-weight: 700;
    color: #122f2a;
    margin-bottom: 8px;
}
.oiota-donate-page .qr-desc {
    font-size: 14px;
    color: #666;
    margin: 0;
}
.oiota-donate-page .transparency-section {
    display: flex;
    gap: 40px;
    margin-bottom: 80px;
}
.oiota-donate-page .transparency-box {
    flex: 1.2;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.04);
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}
.oiota-donate-page .transparency-title {
    font-size: 24px;
    font-weight: 700;
    color: #122f2a;
    margin-bottom: 15px;
}
.oiota-donate-page .transparency-desc {
    font-size: 16px;
    line-height: 26px;
    color: #555;
    margin-bottom: 25px;
}
.oiota-donate-page .transparency-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.oiota-donate-page .transparency-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    font-weight: 700;
    color: #122f2a;
}
.oiota-donate-page .transparency-item i {
    color: #7a9c5a;
    font-size: 18px;
}
.oiota-donate-page .smiles-box {
    flex: 0.8;
    background: #f9fbf7;
    border: 1px solid rgba(122, 156, 90, 0.15);
    padding: 40px;
    border-radius: 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
}
.oiota-donate-page .smiles-title {
    font-size: 22px;
    font-weight: 800;
    color: #122f2a;
    margin-bottom: 15px;
}
.oiota-donate-page .smiles-desc {
    font-size: 16px;
    line-height: 26px;
    color: #555;
    margin-bottom: 25px;
}
@media (max-width: 991px) {
    .oiota-donate-page .hero-section {
        flex-direction: column;
        gap: 40px;
        text-align: center;
    }
    .oiota-donate-page .hero-image-col {
        width: 100%;
    }
    .oiota-donate-page .hero-image {
        height: 320px;
    }
    .oiota-donate-page .causes-grid {
        grid-template-columns: 1fr;
    }
    .oiota-donate-page .program-row,
    .oiota-donate-page .program-row.even {
        flex-direction: column;
        gap: 30px;
    }
    .oiota-donate-page .program-image-col {
        width: 100%;
    }
    .oiota-donate-page .program-image {
        height: 280px;
    }
    .oiota-donate-page .options-section,
    .oiota-donate-page .transparency-section {
        flex-direction: column;
        gap: 30px;
    }
}
