/* Custom overrides — kept separate from vendor consultix CSS. */

/* ---------------------------------------------------------------- */
/* Hero slider: dark overlay so text stays legible over any photo   */
/* ---------------------------------------------------------------- */

.banner-section .slide {
	background-color: #0c1116;
}

.banner-section .slide:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: rgba(10, 14, 18, 0.62);
}

.banner-section .content-column {
	z-index: 2;
}

.banner-section .content-column .title {
	color: #ffffff;
}

.banner-section .content-column h1 {
	color: #ffffff;
}

.banner-section .content-column h1 span {
	color: #6fcf97;
}

.banner-section .content-column .text {
	color: #d9dee2;
}

/* ---------------------------------------------------------------- */
/* Vertically centre the logo against the nav row. The vendor CSS    */
/* sized this row around the tall logo.png; the text logo is short,  */
/* so logo-box and nav-outer need an explicit shared centre line.    */
/* ---------------------------------------------------------------- */

.main-header .header-upper .inner-container {
	display: flex;
	align-items: center;
	gap: 40px;
}

.main-header .header-upper .logo-box {
	float: none;
}

.main-header .header-upper .nav-outer {
	float: none;
	padding-left: 0;
}

/* ---------------------------------------------------------------- */
/* Logo — text fallback, or a configured image (APP_LOGO). Both are  */
/* capped in size so either one keeps the header row's height (and   */
/* therefore the flex-centred alignment above) stable regardless of  */
/* what's uploaded.                                                  */
/* ---------------------------------------------------------------- */

.text-logo {
	display: inline-block;
	font-family: 'Heebo', sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 1;
	color: #000000;
	letter-spacing: -0.01em;
}

.logo-image {
	display: inline-block;
	max-height: 40px;
	width: auto;
}

.main-header .mobile-menu .nav-logo .text-logo {
	font-size: 22px;
}

.main-header .mobile-menu .nav-logo .logo-image {
	max-height: 32px;
}

.main-footer .logo-widget .logo-image {
	max-height: 36px;
}

/* ---------------------------------------------------------------- */
/* Mobile nav toggler: a clearer, deliberately-styled tap target     */
/* ---------------------------------------------------------------- */

@media only screen and (max-width: 800px) {
	.main-header .outer-box {
		display: flex;
		align-items: center;
		top: 0;
		bottom: 0;
	}

	.outer-box .mobile-nav-toggler {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid rgba(0, 0, 0, 0.15);
		border-radius: 6px;
		font-size: 22px !important;
	}
}

/* ---------------------------------------------------------------- */
/* Home page: investment plans                                       */
/* ---------------------------------------------------------------- */

.plans-section {
	position: relative;
	padding: 100px 0px 70px;
	background-color: #f7f7f7;
}

.plans-section .plan-block {
	margin-bottom: 30px;
}

.plans-section .plan-block .inner-box {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background-color: #ffffff;
	border: 1px solid #e6e6e6;
	border-radius: 2px;
}

.plans-section .plan-block .image {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background-color: #0c1116;
}

.plans-section .plan-block .image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.plans-section .plan-block .lower-box {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 28px 28px 30px;
}

.plans-section .plan-block h4 {
	margin: 0;
	color: #000000;
	font-weight: 600;
	line-height: 1.3em;
	word-break: break-word;
}

.plans-section .plan-block .description {
	margin-top: 10px;
	color: #666666;
	font-size: 15px;
	line-height: 1.7em;
}

.plans-section .plan-block .price {
	margin-top: 18px;
	color: #000000;
}

.plans-section .plan-block .price .from {
	display: block;
	color: #999999;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.plans-section .plan-block .price .amount {
	color: #2c724f;
	font-family: 'Heebo', sans-serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2em;
}

.plans-section .plan-block .plan-stats {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
	border: 1px solid #e6e6e6;
	border-radius: 2px;
}

.plans-section .plan-block .plan-stats li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	color: #666666;
	font-size: 15px;
}

.plans-section .plan-block .plan-stats li + li {
	border-top: 1px solid #e6e6e6;
}

.plans-section .plan-block .plan-stats li strong {
	color: #000000;
	font-weight: 600;
	text-align: right;
}

.plans-section .plan-block .plan-features {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.plans-section .plan-block .plan-features li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 8px;
	color: #444444;
	font-size: 15px;
	line-height: 1.6em;
	word-break: break-word;
}

.plans-section .plan-block .plan-features li .icofont-check {
	position: absolute;
	top: 4px;
	left: 0;
	color: #2c724f;
}

.plans-section .plan-block .plan-action {
	margin-top: auto;
	padding-top: 22px;
}

.plans-section .plan-block .plan-action .theme-btn {
	display: block;
	text-align: center;
}

.plans-section .plans-login-note {
	margin-top: 10px;
	text-align: center;
	color: #666666;
}

.plans-section .plans-login-note a {
	color: #2c724f;
	font-weight: 600;
}

@media only screen and (max-width: 767px) {
	.plans-section {
		padding: 70px 0px 40px;
	}
}
