/**
 * Footer Styles
 * Footer styles
 * @package Experis_Academy
 */

/* Footer Container */
.site-footer {
	color: var(--color-text-white);
	padding: var(--spacing-2xl) 0 var(--spacing-md);
	position: relative;
	overflow: hidden;
	background: linear-gradient(
		90deg,
		#736BDE 0%,
		#736BDE 10%,
		#5C4BB9 28.55%,
		#4F4296 50%,
		#5C4BB9 71.45%,
		#736BDE 90%,
		#736BDE 100%
	);
	background-size: 200% 100%;
	animation: footerGradientShift 30s ease-in-out infinite;
}

@keyframes footerGradientShift {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

.footer-container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	position: relative;
	z-index: 1;
}

/* Footer Top - Columns */
.footer-top {
	margin-bottom: var(--spacing-xl);
}

.footer-top-wrapper {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--spacing-2xl);
	align-items: flex-start;
}

.footer-form-section {
	display: flex;
	flex-direction: column;
	max-width: 380px;
	width: 100%;
}

.footer-column-header {
    margin-bottom: 16px;
}

.footer-social-media-top {
	display: none; /* Hidden on desktop */
}

.footer-menus-section {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.footer-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing-xl);
	grid-auto-rows: min-content;
}

.footer-column-contact {
	grid-row: 1;
	grid-column: 1;
}

.footer-column-training-tracks {
	grid-row: 1;
	grid-column: 2;
}

.footer-column-knowledge {
	grid-row: 2;
	grid-column: 1 / -1;
}

.footer-column {
	display: flex;
	flex-direction: column;
	text-align: right;
	direction: rtl;
}

.footer-column-title {
	font-size: var(--font-size-lg);
	font-weight: 600;
	color: var(--color-text-white);
	display: block;
	margin: 0;
	font-family: var(--font-family-hebrew);
	text-align: right;
	pointer-events: none; /* Allow clicks to pass through to button */
	order: 1; /* Title appears first (on the right side in RTL) */
	user-select: none; /* Prevent text selection */
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

/* Footer Menu Styles */
.footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: right;
	direction: rtl;
}

.footer-menu li {
	margin-bottom: var(--spacing-sm);
	text-align: right;
}

.footer-menu a {
	color: var(--color-text-white);
	text-decoration: none;
	font-size: var(--font-size-base);
	transition: opacity var(--transition-base);
	display: inline-block;
	font-family: var(--font-family-hebrew);
	text-align: right;
	font-weight: 300;
	position: relative;
}

.footer-menu a::after {
	content: '';
	position: absolute;
	bottom: -2px;
	right: 0;
	width: 0;
	height: 1px;
	background-color: var(--color-text-white);
	transition: width var(--transition-base);
}

.footer-menu a:hover::after,
.footer-menu a:focus::after {
	width: 100%;
}

.footer-menu a:hover {
	opacity: 1;
}

.footer-menu a:focus {
	opacity: 1;
	outline: 2px solid var(--color-text-white);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Knowledge Center Posts */
.footer-knowledge-list {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: right;
	direction: rtl;
}

.footer-knowledge-item {
	margin-bottom: var(--spacing-sm);
	text-align: right;
}

.footer-knowledge-link {
	color: var(--color-text-white);
	text-decoration: none;
	font-size: var(--font-size-base);
	transition: opacity var(--transition-base);
	display: inline-block;
	line-height: var(--line-height-relaxed);
	font-family: var(--font-family-hebrew);
	text-align: right;
	position: relative;
}

.footer-knowledge-link::after {
	content: '';
	position: absolute;
	bottom: -2px;
	right: 0;
	width: 0;
	height: 1px;
	background-color: var(--color-text-white);
	transition: width var(--transition-base);
}

.footer-knowledge-link:hover::after,
.footer-knowledge-link:focus::after {
	width: 100%;
}

.footer-knowledge-link:hover {
	opacity: 1;
}

.footer-knowledge-link:focus {
	opacity: 1;
	outline: 2px solid var(--color-text-white);
	outline-offset: 2px;
	border-radius: 2px;
}

.footer-no-posts {
	color: var(--color-text-white);
	font-size: var(--font-size-base);
	margin: 0;
	opacity: 0.7;
}

.footer-no-menu {
	color: var(--color-text-white);
	font-size: var(--font-size-sm);
	margin: 0;
	opacity: 0.7;
}

/* Footer Form */
.gform-theme--foundation .gform_fields {
    row-gap: 12px !important;
}

.footer-column-form .gform_wrapper {
	margin: 0;
}

footer #gform_1 label.gform-field-label.gform-field-label--type-inline.gfield_consent_label {
    color: #fff !important;
    font-weight: 200 !important;
	margin-right: 4px !important;
}
footer input#gform_submit_button_1 {
    color: var(--color-violet-primary, #5c4bb9) !important;
}
/* Gravity Forms styling for footer */
.footer-column-form .gform_wrapper input[type="text"],
.footer-column-form .gform_wrapper input[type="email"],
.footer-column-form .gform_wrapper input[type="tel"],
.footer-column-form .gform_wrapper input[type="url"],
.footer-column-form .gform_wrapper textarea {
	background-color: transparent;
	border: 1px solid rgba(255, 255, 255, 0.5);
	color: var(--color-text-white);
	padding: var(--spacing-sm) var(--spacing-md);
	border-radius: var(--radius-sm);
	font-family: var(--font-family-hebrew);
	font-size: var(--font-size-base);
	width: 100%;
}

.footer-column-form .gform_wrapper input::placeholder,
.footer-column-form .gform_wrapper textarea::placeholder {
	color: rgba(255, 255, 255, 0.7);
}

.footer-column-form .gform_wrapper input:focus,
.footer-column-form .gform_wrapper textarea:focus {
	outline: none;
	border-color: var(--color-text-white);
}

.footer-column-form .gform_wrapper .gfield_label {
	color: var(--color-text-white);
	font-family: var(--font-family-hebrew);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-normal);
	margin-bottom: var(--spacing-xs);
}

.footer-column-form .gform_wrapper .gfield_checkbox label,
.footer-column-form .gform_wrapper .gfield_radio label {
	color: rgba(255, 255, 255, 0.9);
	font-family: var(--font-family-hebrew);
	font-size: var(--font-size-sm);
}

.footer-column-form .gform_wrapper input[type="checkbox"],
.footer-column-form .gform_wrapper input[type="radio"] {
	accent-color: var(--color-text-white);
}

/* Custom checkbox styling for gform_1 - empty inside with white border only */
footer #gform_1 input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 18px;
	height: 18px;
	border: 1px solid #ffffff !important;
	background-color: transparent;
	border-radius: 2px;
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
}

#gform_1 input[type="checkbox"]:checked {
	background-color: #ffffff;
	border-color: #ffffff;
}

/* Make checkbox checkmark visible on white background in gform_1 */
#gform_1 .gform-theme--framework input[type="checkbox"]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
	color: #5c4bb9 !important;
}

#gform_1 span.gfield_required.gfield_required_custom {
    color: var(--color-text-white) !important;
}

p.gform_required_legend, div#gform_1_validation_container {
    display: none !important;
}

input#gform_submit_button_1 {
    background-color: var(--color-text-white);
    border-radius: 90px;
    color: var(--color-violet-primary);
    padding: 18px;
    width: -webkit-fill-available;
    transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

input#gform_submit_button_1:hover {
    transform: translateY(-1px);
    opacity: 0.95;
    box-shadow: 0 2px 8px rgba(255, 255, 255, 0.2);
}

/* Error messages styling for gform_1 - white color */
footer #gform_1 .gfield_description.validation_message,
footer #gform_1 .gfield_validation_message,
footer #gform_1 .validation_message,
footer #gform_1 .gfield_error .gfield_description,
footer #gform_1 .gfield_error .gfield_validation_message,
footer #gform_1 .gfield_error_message,
footer #gform_1 .gform_validation_errors {
    color: #ffffff !important;
}

.footer-column-form .gform_wrapper .gform_button:hover,
.footer-column-form .gform_wrapper input[type="submit"]:hover {
	opacity: 0.9;
}

/* Partner Logos Section */
.footer-partners {
	margin: var(--spacing-xl) 0;
}

.footer-partners-logos {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-xl);
	align-items: center;
	justify-content: flex-start;
}

.footer-partner-logo {
	flex-shrink: 0;
}

.footer-partner-logo-link {
	display: inline-block;
	text-decoration: none;
	transition: opacity var(--transition-base), transform var(--transition-base);
}

.footer-partner-logo-link:hover,
.footer-partner-logo-link:focus {
	opacity: 0.8;
	transform: translateY(-2px);
	outline: none;
}

.footer-partner-logo-link:focus {
	outline: 2px solid var(--color-text-white);
	outline-offset: 4px;
	border-radius: 4px;
}

.footer-partner-logo img {
	max-height: 60px;
	width: auto;
	height: auto;
	filter: brightness(0) invert(1); /* Make logos white */
	transition: opacity var(--transition-base);
	object-fit: contain;
	display: block;
}

.footer-partner-logo:hover img {
	opacity: 0.8;
}

/* Footer Bottom Bar */
.footer-bottom {
	border-top: 1px solid var(--violet-1, #4F4196);
	padding-top: var(--spacing-md);
	margin-top: var(--spacing-lg);
}

.footer-bottom-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--spacing-xl);
	flex-wrap: wrap;
	direction: rtl; /* RTL layout */
}

/* Social Media Links */
.footer-social-media {
	flex: 0 0 auto;
}

.footer-social-media-top {
	display: none; /* Hidden on desktop */
}

.footer-social-media-bottom {
	display: block; /* Visible on desktop in footer-bottom */
	order: 3; /* Place social media on the left side (right visually in RTL) */
}

.footer-social-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: var(--spacing-md);
	flex-wrap: wrap;
}

.footer-social-item {
	margin: 0;
}

.footer-social-item a {
	color: var(--color-text-white);
	text-decoration: none;
	font-size: var(--font-size-base);
	transition: opacity var(--transition-base);
	font-family: var(--font-family-hebrew);
	font-weight: 200;
}

.footer-social-item a:hover {
	opacity: 0.8;
}

.footer-social-item a:focus {
	opacity: 1;
	outline: 2px solid var(--color-text-white);
	outline-offset: 2px;
	border-radius: var(--radius-full);
}

/* Legal Content */
.footer-legal {
	flex: 1;
	display: flex;
	justify-content: center;
	min-width: 0;
	order: 2; /* Place legal in the middle */
}

.footer-legal-content {
	color: rgba(255, 255, 255, 0.7);
	font-size: var(--font-size-sm);
	font-family: var(--font-family-hebrew);
	text-align: center;
	line-height: var(--line-height-relaxed);
}

.footer-legal-content p {
	margin: 0;
}

.footer-legal-content p + p {
	margin-top: var(--spacing-xs);
}

.footer-legal-content a {
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	transition: color var(--transition-base);
}

.footer-legal-content a:hover,
.footer-legal-content a:focus {
	color: var(--color-text-white);
}

/* Design Credit */
.footer-credit {
	flex: 0 0 auto;
	order: 1; /* Place credit on the right side (left visually in RTL) */
}

.footer-credit-link {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xs);
	text-decoration: none;
	transition: opacity var(--transition-base);
}

.footer-credit-link:hover {
	opacity: 0.8;
}

.footer-credit-link:focus {
	opacity: 1;
	outline: 2px solid var(--color-text-white);
	outline-offset: 2px;
	border-radius: 2px;
}

.footer-credit-logo {
	height: auto;
	max-height: 20px;
	width: auto;
	filter: brightness(0) invert(1);
	opacity: 0.7;
	transition: opacity var(--transition-base);
	object-fit: contain;
}

.footer-credit-link:hover .footer-credit-logo,
.footer-credit-link:focus .footer-credit-logo {
	opacity: 1;
}

.footer-credit-text {
	color: var(--color-text-white);
	font-size: var(--font-size-sm);
	font-family: var(--font-family-hebrew);
	transition: color var(--transition-base);
}

.footer-credit-link:hover .footer-credit-text,
.footer-credit-link:focus .footer-credit-text {
	color: var(--color-text-white);
}

/* Mobile Accordion Styles */
.footer-accordion-toggle {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	align-items: center;
	text-align: right;
	color: var(--color-text-white);
	font-family: inherit;
	position: relative;
	gap: var(--spacing-sm);
	direction: rtl;
	pointer-events: auto; /* Ensure button is clickable */
	z-index: 1; /* Ensure button is above other elements */
}

.footer-accordion-toggle:hover {
	outline: none;
}

.footer-accordion-toggle:focus {
	outline: 2px solid var(--color-text-white);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Accordion icon - Plus/Minus */
.footer-accordion-toggle::before {
	content: '+';
	font-size: var(--font-size-xl);
	font-weight: var(--font-weight-light);
	color: var(--color-text-white);
	line-height: 1;
	transition: transform var(--transition-base);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	order: 2; /* Appears after the title (on the left side visually in RTL) */
}

.footer-accordion-toggle[aria-expanded="true"]::before {
	content: '−';
}

/* Desktop: Hide icon */
@media (min-width: 769px) {
	.footer-accordion-toggle::before {
		display: none;
	}
	
	
	.footer-column-form .footer-accordion-toggle {
		justify-content: flex-start; /* Align title to right */
		pointer-events: none; /* Form toggle is not clickable on desktop */
	}
	
	.footer-column-form .footer-column-title {
		text-align: right;
	}
}

.footer-column-content {
	overflow: hidden;
	transition: max-height var(--transition-base), opacity var(--transition-base);
}

/* Desktop: Always show content */
@media (min-width: 769px) {
	.footer-accordion-toggle {
		cursor: default;
		pointer-events: none;
	}
	
	.footer-column-content {
		max-height: none !important;
		opacity: 1 !important;
		display: block !important;
	}
	
	.footer-container {
		padding: 0 40px;
	}
}

/* Mobile: Accordion behavior */
@media (max-width: 768px) {
	.site-footer {
		padding: var(--spacing-xl) 0 var(--spacing-md);
	}
	
	.footer-container {
		padding: 0;
	}
	
	.footer-top-wrapper {
		grid-template-columns: 1fr;
		gap: var(--spacing-lg);
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0 16px;
	}
	
	.footer-columns {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
		order: 1;
		width: 100%;
	}
	
	.footer-form-section {
		order: 2;
		max-width: 100%;
		width: 100%;
	}
	
	.footer-social-media-top {
		display: block;
		order: 3;
		padding-top: var(--spacing-md);
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		width: 100%;
		box-sizing: border-box;
	}
	
	.footer-partners-in-menus {
		order: 4;
		margin-top: var(--spacing-lg);
		padding-top: var(--spacing-md);
		padding-left: 20px;
		padding-right: 20px;
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		width: 100%;
	}
	
	.footer-column-training-tracks,
	.footer-column-knowledge,
	.footer-column-contact {
		grid-row: auto;
		grid-column: 1;
	}
	
	.footer-column {
		border-bottom: none;
		padding-bottom: var(--spacing-xs);
		width: 100%;
	}
	
	.footer-column-header {
		width: 100%;
		position: relative;
		z-index: 1;
	}
	
	.footer-column-header {
		margin-bottom: 0;
	}

	.footer-accordion-toggle {
		width: 100%;
		outline: none !important;
		border: none !important;
		box-shadow: none !important;
		justify-content: flex-end; /* Align title to right on mobile */
		direction: rtl; /* Ensure RTL direction on mobile */
		flex-direction: row; /* Keep row direction */
		pointer-events: auto !important; /* Ensure button is clickable */
		cursor: pointer !important;
	}
	
	.footer-column-title {
		text-align: right !important;
		order: 1; /* Title appears first (on the right side in RTL) */
		pointer-events: auto !important; /* Allow clicks on title in mobile */
	}
	
	.footer-accordion-toggle:focus {
		outline: none !important;
		border: none !important;
		box-shadow: none !important;
	}
	
	.footer-accordion-toggle:active {
		outline: none !important;
		border: none !important;
		box-shadow: none !important;
	}
	
	/* Remove border from all columns */
	.footer-column:last-child {
		border-bottom: none;
		padding-bottom: var(--spacing-md);
	}
	
	/* Add border only to the last menu item (Knowledge Center) */
	.footer-columns .footer-column-knowledge {
		border-bottom: 1px solid var(--violet-4, #9E94FA);
		padding-bottom: var(--spacing-md);
	}
	
	.footer-partners-in-menus {
		margin-top: var(--spacing-lg);
		padding-top: var(--spacing-md);
		border-top: 1px solid rgba(255, 255, 255, 0.2);
	}
	
	.footer-partners-in-menus .footer-partners-logos {
		justify-content: center;
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--spacing-md);
		align-items: center;
	}
	
	.footer-partners-in-menus .footer-partner-logo {
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.footer-accordion-toggle {
		cursor: pointer;
		pointer-events: auto;
		justify-content: space-between;
	}
	
	.footer-column-content {
		max-height: 0;
		opacity: 0;
		display: none;
		padding-top: var(--spacing-sm);
	}
	
	.footer-column-content[aria-hidden="false"] {
		max-height: 2000px;
		opacity: 1;
		display: block;
	}
	
	/* Form always open on mobile */
	#footer-form {
		max-height: none !important;
		opacity: 1 !important;
		display: block !important;
	}
	
	.footer-column-form .footer-accordion-toggle::before {
		display: none; /* Hide icon for form */
	}
	
	.footer-column-form .footer-accordion-toggle {
		cursor: default;
		pointer-events: none; /* Disable click on form toggle */
		justify-content: flex-start; /* Align title to right */
	}
	
	.footer-column-form .footer-column-title {
		text-align: right;
	}
	
	.footer-partners {
		margin: 0;
		border-top: 0;
		padding: 0;
	}
	
	.footer-partners-logos {
		gap: var(--spacing-md);
	}
	
	.footer-partner-logo img {
		max-height: 50px;
	}
	
	.footer-bottom {
		padding-left: 20px;
		padding-right: 20px;
		border-top: 1px solid var(--violet-4, #9E94FA);
	}
	
	.footer-bottom-content {
		flex-direction: column;
		align-items: center;
		gap: var(--spacing-md);
		text-align: center;
		width: 100%;
		flex-direction: column-reverse;
	}
	
	.footer-social-media-top .footer-social-list {
		flex-direction: row;
		gap: var(--spacing-sm);
		width: 100%;
		justify-content: stretch;
		flex-wrap: nowrap;
		display: flex;
	}
	
	.footer-social-media-top .footer-social-item {
		flex: 1 1 0;
		min-width: 0;
		width: 100%;
	}
	
	.footer-social-media-top .footer-social-item a {
		display: block;
		width: 100%;
		padding: var(--spacing-sm) var(--spacing-md);
		border: 1px solid rgba(255, 255, 255, 0.5);
		border-radius: var(--radius-sm);
		text-align: center;
		transition: background-color var(--transition-base), border-color var(--transition-base);
		box-sizing: border-box;
	}
	
	.footer-social-media-top .footer-social-item a:hover {
		background-color: rgba(255, 255, 255, 0.1);
		border-color: var(--color-text-white);
	}
	
	/* Hide social media in footer-bottom on mobile */
	.footer-bottom .footer-social-media-bottom {
		display: none;
	}
	
	.footer-social-list {
		justify-content: center;
	}
	
	.footer-legal {
		justify-content: center;
		width: 100%;
	}
	
	.footer-legal-content {
		text-align: center;
	}
	
	.footer-credit {
		width: 100%;
		text-align: center;
		display: flex;
		justify-content: center;
	}
	
	.footer-credit-link {
		justify-content: center;
	}
}

/* Tablet adjustments */
@media (min-width: 769px) and (max-width: 1024px) {
	.footer-top-wrapper {
		grid-template-columns: 1fr;
		gap: var(--spacing-xl);
	}
	.footer-column-header {
		margin-bottom: 0;
	}
	.footer-columns {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--spacing-lg);
	}
	
	.footer-column-contact {
		grid-row: 1;
		grid-column: 1;
	}
	
	.footer-column-training-tracks {
		grid-row: 1;
		grid-column: 2;
	}
	
	.footer-column-knowledge {
		grid-row: 2;
		grid-column: 1 / -1;
	}
	
	.footer-partners-in-menus {
		margin-top: var(--spacing-lg);
		padding-top: var(--spacing-md);
	}
	
	
	.footer-bottom-content {
		flex-wrap: wrap;
	}
}
