/* ViralVolt Components */

/* Custom fonts previously registered through Elementor Pro → Custom Fonts. */
@font-face {
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: normal;
	font-display: swap;
	src: url('/wp-content/uploads/2024/08/Satoshi-Bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Satoshi Medium';
	font-style: normal;
	font-weight: normal;
	font-display: swap;
	src: url('/wp-content/uploads/2024/08/Satoshi-Medium.ttf') format('truetype');
}

/*
 * Elementor Pro's default styles that point at the Site Settings global colours/fonts.
 * Pro applied these without saving them, so they aren't in pro-snapshot.css. Values the
 * site actually customised are in the snapshot and override these (higher specificity).
 */
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
	color: var(--e-global-color-text);
	fill: var(--e-global-color-text);
}
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus {
	color: var(--e-global-color-accent);
	fill: var(--e-global-color-accent);
}
.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after {
	background-color: var(--e-global-color-accent);
}
.elementor-widget-nav-menu .elementor-nav-menu .elementor-item {
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-primary-font-weight);
}
.elementor-widget-form .elementor-button {
	background-color: var(--e-global-color-accent);
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	font-weight: var(--e-global-typography-accent-font-weight);
}
.elementor-widget-form .elementor-field-group > label,
.elementor-widget-form .elementor-field-group .elementor-field {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-widget-post-info .elementor-icon-list-text,
.elementor-widget-post-info .elementor-icon-list-text a {
	color: var(--e-global-color-secondary);
}
.elementor-widget-post-info .elementor-icon-list-icon i {
	color: var(--e-global-color-primary);
}
.elementor-widget-post-info .elementor-icon-list-icon svg {
	fill: var(--e-global-color-primary);
}
.elementor-widget-post-info .elementor-icon-list-item {
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-widget-theme-post-content {
	color: var(--e-global-color-text);
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-weight: var(--e-global-typography-text-font-weight);
}
.elementor-widget-theme-post-title .elementor-heading-title {
	color: var(--e-global-color-primary);
	font-family: var(--e-global-typography-primary-font-family), Sans-serif;
	font-weight: var(--e-global-typography-primary-font-weight);
}

/* Contact form: spam honeypot (hidden from people, visible to bots). */
.vvc-form .vvc-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.vvc-form.elementor-form-waiting [type="submit"] {
	opacity: 0.6;
	cursor: progress;
}

.vvc-form .elementor-message {
	width: 100%;
	margin-top: 10px;
	font-size: 14px;
}
.vvc-form .elementor-message-success {
	color: #5cb85c;
}
.vvc-form .elementor-message-danger {
	color: #d9534f;
}
.vvc-form .elementor-error .elementor-field {
	border-color: #d9534f !important;
}

/* Carousel: before Swiper initialises, lay slides out in a row instead of stacking. */
.elementor-widget-loop-carousel .swiper:not(.swiper-initialized) .swiper-wrapper {
	display: flex;
	gap: 10px;
	overflow: hidden;
}
.elementor-widget-loop-carousel .swiper:not(.swiper-initialized) .swiper-slide {
	flex: 0 0 calc((100% - 20px) / 3);
}
@media (max-width: 1024px) {
	.elementor-widget-loop-carousel .swiper:not(.swiper-initialized) .swiper-slide {
		flex-basis: calc((100% - 10px) / 2);
	}
}
@media (max-width: 767px) {
	.elementor-widget-loop-carousel .swiper:not(.swiper-initialized) .swiper-slide {
		flex-basis: 100%;
	}
}
