/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Global Poppins Font Enforcement for Website and Elementor */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
	--e-global-typography-primary-font-family: 'Poppins', sans-serif;
	--e-global-typography-secondary-font-family: 'Poppins', sans-serif;
	--e-global-typography-text-font-family: 'Poppins', sans-serif;
	--e-global-typography-accent-font-family: 'Poppins', sans-serif;
}

html,
body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6,
p,
span,
a,
li,
div,
label,
table,
td,
th,
.elementor,
.elementor *,
.elementor-widget,
.elementor-widget *,
.elementor-heading-title,
.elementor-text-editor,
.elementor-icon-box-title,
.elementor-icon-box-description,
.elementor-image-box-title,
.elementor-image-box-description,
.elementor-counter-title,
.elementor-counter-number-wrapper,
.elementor-button,
.elementor-nav-menu,
.elementor-nav-menu a,
.elementor-sub-item,
.elementor-item,
.elementor-price-table,
.elementor-testimonial-content,
.elementor-testimonial-name,
.elementor-testimonial-job,
.elementor-tab-title,
.elementor-tab-content,
.elementor-accordion-title,
.elementor-toggle-title,
.elementor-post__title,
.elementor-post__excerpt,
.elementor-post__meta-data,
.site-header,
.site-footer,
.site-main {
	font-family: 'Poppins', sans-serif !important;
}

/* ==========================================================================
   SIMFOTIX Added Value Redesign Styles
   ========================================================================== */
.simfotix-added-value-wrapper {
	background: linear-gradient(135deg, #f3f8f0 0%, #ebf4e6 100%);
	border: 1px solid #dcebd4;
	border-radius: 24px;
	padding: 55px 45px;
	box-shadow: 0 12px 35px rgba(35, 75, 25, 0.04);
	margin: 30px auto;
	font-family: 'Poppins', sans-serif;
	box-sizing: border-box;
}

.simfotix-av-header {
	text-align: center;
	max-width: 750px;
	margin: 0 auto 45px auto;
}

.simfotix-av-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #dff0d4;
	color: #2c591c;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	padding: 6px 18px;
	border-radius: 30px;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.simfotix-av-title {
	font-size: 32px;
	font-weight: 700;
	color: #172814;
	margin: 0 0 12px 0;
	line-height: 1.3;
	font-family: 'Poppins', sans-serif !important;
}

.simfotix-av-subtitle {
	font-size: 16px;
	color: #445640;
	margin: 0;
	line-height: 1.6;
	font-family: 'Poppins', sans-serif !important;
}

.simfotix-av-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

@media (max-width: 992px) {
	.simfotix-av-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.simfotix-av-grid {
		grid-template-columns: 1fr;
	}
	.simfotix-added-value-wrapper {
		padding: 30px 20px;
	}
	.simfotix-av-title {
		font-size: 24px;
	}
}

.simfotix-av-card {
	background: #ffffff;
	border: 1px solid #e1ebda;
	border-radius: 18px;
	padding: 30px 26px;
	transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.simfotix-av-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #4caf50, #81c784);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.simfotix-av-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 40px rgba(44, 89, 28, 0.09);
	border-color: #c4deb3;
}

.simfotix-av-card:hover::before {
	opacity: 1;
}

.simfotix-av-icon-box {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #edf6e7;
	color: #388e3c;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	transition: all 0.3s ease;
}

.simfotix-av-card:hover .simfotix-av-icon-box {
	background: #388e3c;
	color: #ffffff;
}

.simfotix-av-card-content h3 {
	font-size: 18px;
	font-weight: 600;
	color: #192b15;
	margin: 0 0 10px 0;
	line-height: 1.4;
	font-family: 'Poppins', sans-serif !important;
}

.simfotix-av-card-content p {
	font-size: 14px;
	color: #556750;
	margin: 0;
	line-height: 1.6;
	font-family: 'Poppins', sans-serif !important;
}

@media (min-width: 993px) {
	.simfotix-av-card-featured {
		grid-column: span 2;
		flex-direction: row;
		align-items: flex-start;
		gap: 22px;
	}
	.simfotix-av-card-featured .simfotix-av-icon-box {
		margin-bottom: 0;
		flex-shrink: 0;
	}
}

/* ==========================================================================
   Course Single Page Formatting: Overview, Outline, Pricing
   ========================================================================== */
.elementor-element-f1de985 h1,
.elementor-element-f1de985 h2,
.elementor-element-f1de985 h3,
.elementor-element-f1de985 h4,
.elementor-element-f1de985 h5,
.elementor-element-f1de985 h6,
.elementor-element-d378cd0 h1,
.elementor-element-d378cd0 h2,
.elementor-element-d378cd0 h3,
.elementor-element-d378cd0 h4,
.elementor-element-d378cd0 h5,
.elementor-element-d378cd0 h6,
.elementor-element-0237bf0 h1,
.elementor-element-0237bf0 h2,
.elementor-element-0237bf0 h3,
.elementor-element-0237bf0 h4,
.elementor-element-0237bf0 h5,
.elementor-element-0237bf0 h6,
.elementor-element-f1de985 .course-heading,
.elementor-element-d378cd0 .course-heading,
.elementor-element-0237bf0 .course-heading,
.woocommerce-product-details__short-description h1,
.woocommerce-product-details__short-description h2,
.woocommerce-product-details__short-description h3,
.woocommerce-product-details__short-description h4,
.woocommerce-product-details__short-description h5,
.woocommerce-product-details__short-description h6,
.elementor-widget-woocommerce-product-content h1,
.elementor-widget-woocommerce-product-content h2,
.elementor-widget-woocommerce-product-content h3,
.elementor-widget-woocommerce-product-content h4,
.elementor-widget-woocommerce-product-content h5,
.elementor-widget-woocommerce-product-content h6 {
	font-size: 24px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	color: #111111 !important;
	margin-top: 32px !important;
	margin-bottom: 14px !important;
	font-family: 'Poppins', sans-serif !important;
	letter-spacing: -0.2px !important;
	display: block !important;
	clear: both !important;
}

/* First heading at top of tab should not have excessive top space */
.elementor-element-f1de985 > :first-child > :first-child:is(h1,h2,h3,h4,h5,h6),
.elementor-element-d378cd0 > :first-child > :first-child:is(h1,h2,h3,h4,h5,h6),
.elementor-element-0237bf0 > :first-child > :first-child:is(h1,h2,h3,h4,h5,h6) {
	margin-top: 0 !important;
}

/* Descriptions and paragraphs strictly in course tabs */
.elementor-element-f1de985 p,
.elementor-element-d378cd0 p,
.elementor-element-0237bf0 p,
.woocommerce-product-details__short-description p,
.elementor-widget-woocommerce-product-content p {
	font-size: 16px !important;
	line-height: 1.75 !important;
	color: #333333 !important;
	margin-top: 0 !important;
	margin-bottom: 18px !important;
	font-family: 'Poppins', sans-serif !important;
}

/* Unordered Lists in course tabs */
.elementor-element-f1de985 ul,
.elementor-element-d378cd0 ul,
.elementor-element-0237bf0 ul,
.woocommerce-product-details__short-description ul,
.elementor-widget-woocommerce-product-content ul {
	margin-top: 10px !important;
	margin-bottom: 24px !important;
	padding-left: 24px !important;
	list-style-type: disc !important;
}

/* Sub-bullets (nested lists) */
.elementor-element-d378cd0 ul ul,
.elementor-element-f1de985 ul ul,
.elementor-element-0237bf0 ul ul {
	margin-top: 6px !important;
	margin-bottom: 8px !important;
	padding-left: 22px !important;
	list-style-type: circle !important;
}

/* List items */
.elementor-element-f1de985 ul li,
.elementor-element-d378cd0 ul li,
.elementor-element-0237bf0 ul li,
.woocommerce-product-details__short-description ul li,
.elementor-widget-woocommerce-product-content ul li {
	font-size: 15px !important;
	line-height: 1.68 !important;
	color: #3d3d3d !important;
	margin-bottom: 7px !important;
	font-family: 'Poppins', sans-serif !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
	.elementor-element-f1de985 h3,
	.elementor-element-d378cd0 h3,
	.elementor-element-0237bf0 h3,
	.woocommerce-product-details__short-description h3,
	.elementor-widget-woocommerce-product-content h3 {
		font-size: 20px !important;
		margin-top: 24px !important;
		margin-bottom: 10px !important;
	}
}

/* ==========================================================================
   SIMFOTIX Course Pricing Tab Cards (Exact Design)
   ========================================================================== */
.simfotix-pricing-wrapper {
	font-family: 'Poppins', sans-serif !important;
	margin-top: 5px;
	margin-bottom: 25px;
	color: #222222;
}

/* Top two cards row */
.simfotix-pricing-top-row {
	display: flex;
	gap: 22px;
	margin-bottom: 30px;
	align-items: stretch;
}

/* Base Card Style */
.simfotix-pricing-card {
	background: #f4faf2;
	border: 1.5px solid #d8ebd2;
	border-radius: 16px;
	padding: 26px 28px;
	box-sizing: border-box;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.simfotix-pricing-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(46, 125, 50, 0.08);
}

/* Card 1: Fee Card */
.simfotix-pricing-fee-card {
	flex: 0 0 34%;
	max-width: 34%;
	display: flex;
	flex-direction: column;
}

/* Card 2: Benefit Card */
.simfotix-pricing-benefit-card {
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Green Square Icons with glyphs */
.simfotix-pricing-icon {
	width: 46px;
	height: 46px;
	border-radius: 10px;
	background-color: #73b859;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	display: inline-block;
	margin-bottom: 18px;
	box-shadow: 0 4px 12px rgba(115, 184, 89, 0.25);
}

.simfotix-pricing-icon-fee {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4V6h16v12zm-6-6c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3zm4-4h-2V6h2v2zm-12 8H4v-2h2v2zm12 0h-2v-2h2v2zM6 8H4V6h2v2z'/%3E%3C/svg%3E");
}

.simfotix-pricing-icon-benefit {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm3.66 14.83L12 14.75l-3.66 2.08.97-4.14-3.19-2.77 4.23-.37L12 5.62l1.65 3.93 4.23.37-3.19 2.77.97 4.14z'/%3E%3C/svg%3E");
}

/* Titles inside cards */
.simfotix-pricing-card-title {
	font-size: 19px !important;
	font-weight: 700 !important;
	color: #111111 !important;
	margin: 0 0 12px 0 !important;
	line-height: 1.35 !important;
}

/* Fee Amount */
.simfotix-pricing-amount {
	font-size: 36px !important;
	font-weight: 800 !important;
	color: #111111 !important;
	line-height: 1.15 !important;
	margin: 0 0 10px 0 !important;
	letter-spacing: -0.5px;
}

/* Fee Subtitle/Terms */
.simfotix-pricing-subtitle {
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: #333333 !important;
	margin: 0 !important;
}

/* Benefit Card Body Paragraph */
.simfotix-pricing-benefit-card p {
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: #2b2b2b !important;
	margin: 0 !important;
}

.simfotix-pricing-benefit-card p strong,
.simfotix-pricing-team-card p strong {
	color: #111111 !important;
	font-weight: 700 !important;
}

/* Middle Section: The Program Fee Includes */
.simfotix-pricing-includes-section {
	margin-top: 32px;
	margin-bottom: 30px;
}

.simfotix-pricing-section-title {
	font-size: 19px !important;
	font-weight: 700 !important;
	color: #111111 !important;
	margin: 0 0 12px 0 !important;
	line-height: 1.35 !important;
}

.simfotix-pricing-includes-list {
	margin: 0 0 24px 0 !important;
	padding-left: 20px !important;
	list-style-type: disc !important;
}

.simfotix-pricing-includes-list li {
	font-size: 15px !important;
	line-height: 1.68 !important;
	color: #2b2b2b !important;
	margin-bottom: 5px !important;
}

/* Bottom Card: Registering a Team? */
.simfotix-pricing-team-card {
	background: #ffffff;
	border: 1.5px solid #d8ebd2;
	border-radius: 16px;
	padding: 24px 28px;
	box-sizing: border-box;
	margin-top: 14px;
}

.simfotix-pricing-team-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #111111 !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.35 !important;
}

.simfotix-pricing-team-card p {
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: #2b2b2b !important;
	margin: 0 !important;
}

/* Responsive view for Tablet and Mobile */
@media (max-width: 820px) {
	.simfotix-pricing-top-row {
		flex-direction: column;
		gap: 18px;
	}
	.simfotix-pricing-fee-card,
	.simfotix-pricing-benefit-card {
		flex: 1 1 100%;
		max-width: 100%;
	}
	.simfotix-pricing-amount {
		font-size: 30px !important;
	}
}

/* ==========================================================================
   Simfotix Training Search - Mobile Single Row Inline
   ========================================================================== */
@media (max-width: 768px) {
	.sts-search-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 auto !important;
		box-sizing: border-box !important;
		overflow: visible !important;
	}

	.sts-search-form {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.sts-search-inner {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		border-radius: 50px !important;
		padding: 4px 6px 4px 12px !important;
		gap: 4px !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.sts-field--keyword {
		flex: 1 1 0% !important;
		min-width: 0 !important;
		width: auto !important;
		overflow: hidden !important;
	}

	.sts-icon-search-input {
		width: 15px !important;
		height: 15px !important;
		margin-right: 5px !important;
		flex-shrink: 0 !important;
	}

	.sts-input {
		font-size: 12.5px !important;
		padding: 6px 0 !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	.sts-input::placeholder {
		font-size: 12px !important;
	}

	.sts-divider {
		display: block !important;
		width: 1px !important;
		height: 20px !important;
		margin: 0 3px !important;
		background: #E8E8E8 !important;
		flex-shrink: 0 !important;
	}

	.sts-field--category {
		flex: 0 0 34% !important;
		max-width: 36% !important;
		min-width: 0 !important;
		width: auto !important;
		position: relative !important;
		overflow: hidden !important;
	}

	.sts-select {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		font-size: 11.5px !important;
		padding: 6px 16px 6px 2px !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.sts-icon-chevron {
		right: 2px !important;
		width: 12px !important;
		height: 12px !important;
	}

	.sts-btn-search {
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		border-radius: 50% !important;
		margin: 0 !important;
		flex-shrink: 0 !important;
		padding: 0 !important;
	}

	.sts-btn-search svg {
		width: 16px !important;
		height: 16px !important;
	}

	.sts-instant-results {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		top: calc(100% + 8px);
		border-radius: 14px;
		box-sizing: border-box !important;
	}
}

@media (max-width: 420px) {
	.sts-search-inner {
		padding: 3px 4px 3px 8px !important;
		gap: 2px !important;
	}

	.sts-field--keyword {
		flex: 1 1 0% !important;
	}

	.sts-icon-search-input {
		width: 14px !important;
		height: 14px !important;
		margin-right: 3px !important;
	}

	.sts-input {
		font-size: 11.5px !important;
		padding: 5px 0 !important;
	}

	.sts-input::placeholder {
		font-size: 11px !important;
	}

	.sts-field--category {
		flex: 0 0 33% !important;
		max-width: 35% !important;
	}

	.sts-select {
		font-size: 11px !important;
		padding: 5px 14px 5px 1px !important;
	}

	.sts-icon-chevron {
		right: 1px !important;
		width: 11px !important;
		height: 11px !important;
	}

	.sts-btn-search {
		width: 34px !important;
		height: 34px !important;
		min-width: 34px !important;
		max-width: 34px !important;
	}

	.sts-btn-search svg {
		width: 15px !important;
		height: 15px !important;
	}
}

/* Prevent horizontal page scrolling on mobile */
@media (max-width: 768px) {
	html,
	body {
		overflow-x: hidden !important;
		max-width: 100vw !important;
	}
}






