/*
Theme Name: Salient Child Theme
Theme URI: https://socialmind.gr
Description: Custom child theme for Refersion. Includes WPBakery custom modules and specialized project functionality.
Author: Social Mind
Author URI: https://socialmind.gr
Template: salient
Version: 1.3.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: refersion
*/

/* Registered Font-Faces */
@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-Regular.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-Italic.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-Italic.woff') format('woff');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-Book.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-Book.woff') format('woff');
	font-weight: 350;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-BookItalic.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-BookItalic.woff') format('woff');
	font-weight: 350;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-Light.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-LightItalic.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-LightItalic.woff') format('woff');
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-Medium.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-MediumItalic.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-MediumItalic.woff') format('woff');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-Demi.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-Demi.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-DemiItalic.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-DemiItalic.woff') format('woff');
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-Bold.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Catalogue';
	src: url('assets/fonts/WOFF2/Catalogue-BoldItalic.woff2') format('woff2'),
		url('assets/fonts/WOFF/Catalogue-BoldItalic.woff') format('woff');
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

:root {
	--refersion-primary: #221F4E;
	--refersion-secondary: #3A86FF;
	--refersion-text-body: #5F738C;
	--refersion-text-inverse: #FFFFFF;
	--refersion-dark-purple: #221F4E;

	/* Background Palette from refersion.com */
	--refersion-bg-base: #F2F6EF;
	/* Light Beige/Greenish-Grey */
	--refersion-bg-blue: #D4E2F2;
	/* Light Blue/Grey */
	--refersion-bg-warm: #DED7D4;
	/* Warm Grey/Taupe */

	--refersion-font-family: 'Catalogue', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Global Font Override to target core wrappers and prevent theme system overrides */
body,
html,
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
select,
textarea,
.refersion-btn {
	font-family: var(--refersion-font-family) !important;
}


/* Background Transition Utilities */
.refersion-bg-base {
	background-color: var(--refersion-bg-base);
}

.refersion-bg-blue {
	background-color: var(--refersion-bg-blue);
}

.refersion-bg-warm {
	background-color: var(--refersion-bg-warm);
}

/* 
   Color Transitions (Dips)
   Use these for sections that sit between two Base-colored sections 
*/
.refersion-transition-blue {
	background: linear-gradient(180deg, var(--refersion-bg-base) 0%, var(--refersion-bg-blue) 15%, var(--refersion-bg-blue) 85%, var(--refersion-bg-base) 100%);
}

.refersion-transition-warm {
	background: linear-gradient(180deg, var(--refersion-bg-base) 0%, var(--refersion-bg-warm) 15%, var(--refersion-bg-warm) 85%, var(--refersion-bg-base) 100%);
}

.refersion-transition-blue-beige-blue {
	background: linear-gradient(180deg, var(--refersion-bg-blue) 0%, var(--refersion-bg-base) 15%, var(--refersion-bg-base) 85%, var(--refersion-bg-blue) 100%);
}

/* 
   Linear Blends 
   Use these to smoothly connect two differently colored sections 
*/
.refersion-blend-warm-base {
	background: linear-gradient(180deg, var(--refersion-bg-warm) 0%, var(--refersion-bg-base) 100%);
}

.refersion-blend-base-warm {
	background: linear-gradient(180deg, var(--refersion-bg-base) 0%, var(--refersion-bg-warm) 100%);
}

.refersion-blend-base-blue {
	background: linear-gradient(180deg, var(--refersion-bg-base) 0%, var(--refersion-bg-blue) 100%);
}

.refersion-blend-blue-base {
	background: linear-gradient(180deg, var(--refersion-bg-blue) 0%, var(--refersion-bg-base) 100%);
}

body {
	background-color: var(--refersion-bg-base);
}

/* navigation */
.sm_nav_button a {
	background-color: #221f4e !important;
	border-radius: 16px !important;
	padding: 10px 20px !important;
	-webkit-border-radius: 16px !important;
}

.sm_nav_button a span {
	color: #fff !important;
}

/* Remove Salient Breadcrumns */
p#breadcrumbs {
	display: none !important;
}

/* Base Typogrpahy Overrides for Refersion Modules */
.refersion-hero-module,
.refersion-z-layout-module,
.refersion-scrolling-features-module,
.refersion-numbered-features-module,
.refersion-bulleted-content-module,
.refersion-integrations-module {
	font-family: var(--refersion-font-family);
	color: var(--refersion-text-body);
}

.refersion-hero-module h1,
.refersion-z-layout-module h2,
.refersion-z-layout-module h3,
.refersion-eyebrow,
.refersion-section-title {
	color: var(--refersion-primary);
	font-weight: 700;
	margin-bottom: 20px;
}

.refersion-section-title {
	font-size: clamp(2rem, 4vw, 2.5rem);
	line-height: 1.2;
	text-align: center;
}

/* Refersion Global Button Structure */
.refersion-btn {
	display: inline-block;
	font-family: var(--refersion-font-family);
	font-weight: 600;
	text-decoration: none;
	padding: 14px 28px;
	border-radius: 6px;
	transition: all 0.3s ease;
}

.refersion-btn-primary {
	background-color: var(--refersion-primary);
	color: var(--refersion-text-inverse);
}

.refersion-btn-primary:hover {
	background-color: var(--refersion-secondary);
	color: var(--refersion-text-inverse);
}

.refersion-subtext {
	font-size: 1.05rem;
	line-height: 1.6;
	margin-bottom: 30px;
}

/* -------------------------------- */
/* Refersion Hero Module            */
/* -------------------------------- */
.refersion-hero-module {
	background: transparent;
	padding: 40px 5%;
	text-align: center;
}

.refersion-hero-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
}

.refersion-hero-content {
	/* max-width: 800px; */
	margin-bottom: 10px;
}

.refersion-hero-title {
	font-size: 64px;
	line-height: 1.1;
	margin-bottom: 30px;
	letter-spacing: -0.02em;
}

.refersion-hero-subtext {
	font-size: 1.25rem;
	line-height: 1.6;
	margin: 0px auto 40px auto;
	max-width: 800px;
	color: #4A5568;
	font-weight: 400;
}

.refersion-hero-cta-container {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 25px;
}

.refersion-btn-solid-orange {
	background-color: #FF6B35 !important;
	color: #FFFFFF !important;
	padding: 12px 30px;
	font-size: 1.05rem;
	border-radius: 50px;
	box-shadow: 0 10px 20px rgba(255, 107, 53, 0.15);
	border: 2px solid #FF6B35;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all 0.3s ease;
}

.refersion-btn-solid-orange:hover {
	background-color: #E85A2A !important;
	border-color: #E85A2A;
	transform: translateY(-2px);
	box-shadow: 0 15px 25px rgba(255, 107, 53, 0.25);
}

.refersion-btn-outline-orange {
	background-color: transparent !important;
	color: #FF6B35 !important;
	border: 2px solid #FF6B35;
	padding: 12px 30px;
	font-size: 1.05rem;
	border-radius: 50px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all 0.3s ease;
}

.refersion-btn-outline-orange:hover {
	background-color: rgba(255, 107, 53, 0.05) !important;
	transform: translateY(-2px);
}

.refersion-hero-bottom-link {
	margin-top: 15px;
}

.refersion-hero-bottom-link a {
	color: #FF6B35;
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.refersion-hero-bottom-link a:hover {
	color: #E85A2A;
}

.refersion-hero-image {
	width: 100%;
	max-width: 1100px;
}

.refersion-hero-image img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

@media (max-width: 767px) {
	.refersion-hero-title {
		font-size: 36px;
		margin-bottom: 20px;
	}

	.refersion-hero-subtext {
		font-size: 1.1rem;
		margin-bottom: 25px;
		padding: 0 10px;
	}

	.refersion-hero-cta-container {
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		gap: 12px;
		max-width: 100%;
		padding: 0 15px;
	}

	.refersion-hero-cta-container .refersion-btn {
		flex: 1;
		padding: 12px 10px;
		font-size: 0.95rem;
		min-width: 0;
		white-space: nowrap;
	}

	.refersion-btn-outline-orange {
		padding: 10px 10px;
	}
}

.refersion-img-placeholder {
	background: rgba(224, 228, 235, 0.5);
	padding-bottom: 56.25%;
	/* 16:9 aspect ratio */
	border-radius: 20px;
	width: 100%;
	border: 2px dashed rgba(0, 26, 65, 0.1);
}

/* -------------------------------- */
/* Refersion Z-Layout Module        */
/* -------------------------------- */
.refersion-z-layout-module {
	padding: 80px 5%;
	background: transparent;
	border-radius: 64px;
	max-width: 1300px;
	margin: 40px auto;
}

.refersion-z-layout-module.pt-0,
.refersion-z-layout-module.no-padding-top {
	padding-top: 0 !important;
}

.refersion-z-layout-module.pb-0,
.refersion-z-layout-module.no-padding-bottom {
	padding-bottom: 0 !important;
}

.refersion-z-layout-module h2 {
	font-size: 36px;
	font-weight: 500;
	line-height: 38px;
}

.refersion-z-grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 80px;
	max-width: 1200px;
	margin: 0 auto;
}

.refersion-z-image-left .refersion-z-grid {
	flex-direction: row-reverse;
}

/* Specialized Variant: Beige Card */
.refersion-z-layout-module.beige-card {
	background-color: #F9F7F5;
	border-radius: 64px;
	padding: 80px 10%;
	margin: 40px auto;
}

.refersion-z-layout-module.beige-card .refersion-z-text-column {
	text-align: center;
}

.refersion-z-layout-module.beige-card .refersion-z-text-column h2 {
	font-size: 24px;
	margin-bottom: 25px;
}

@media (max-width: 991px) {
	.refersion-z-layout-module.beige-card {
		padding: 40px 20px;
		border-radius: 30px;
	}

	.refersion-z-layout-module.beige-card .refersion-z-grid {
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.refersion-z-layout-module {
		margin: 20px 15px !important;
		padding: 40px 20px !important;
		border-radius: 40px !important;
	}

	.refersion-z-grid {
		flex-direction: column !important;
		gap: 40px !important;
	}
}

.refersion-z-text-column,
.refersion-z-image-column {
	flex: 1 1 45%;
}

.refersion-z-layout-module.no-media .refersion-z-text-column {
	flex: 1 1 100%;
	max-width: 800px;
	margin: 0 auto;
}

.refersion-z-video-wrapper {
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	line-height: 0;
}

.refersion-z-video {
	width: 100%;
	height: auto;
	display: block;
}

/* Bullet points in Z-Layout subtext */
.refersion-z-text-column .refersion-subtext ul {
	list-style: none !important;
	padding: 0 0 0 20px !important;
	margin: 25px 0 !important;
}

.refersion-z-text-column .refersion-subtext ul li {
	position: relative !important;
	padding-left: 30px !important;
	margin-bottom: 20px !important;
	font-size: 1.05rem !important;
	line-height: 1.5 !important;
	color: #4A5568;
}

.refersion-eyebrow {
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--refersion-secondary);
	margin-bottom: 15px;
}

/* -------------------------------- */
/* Refersion Scrolling Features     */
/* -------------------------------- */
.refersion-scrolling-features-module {
	padding: 50px 5%;
	background: transparent;
}

.refersion-scrolling-container {
	position: relative;
	max-width: 1100px;
	margin: 50px auto 0;
	height: 750px;
	/* Accommodates 600px card + 20px gap + 130px peek */
	overflow: hidden;
	border-radius: 40px;
	background: transparent;
}

.refersion-feature-item {
	display: flex;
	gap: 60px;
	align-items: center;
	background: linear-gradient(135deg, #F1EDE9 0%, #E5F0F6 100%);
	/* Individual card background */
	padding: 60px;
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 600px;
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
	/* Shadow to separate cards in the stack */
}

.refersion-feature-item.active {
	z-index: 10;
	transform: translateY(0);
	opacity: 1;
}

.refersion-feature-item.peeking {
	z-index: 5;
	transform: translateY(620px);
	opacity: 1;
	/* Reset base opacity to use the gradient mask instead */
	-webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 120px);
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 120px);
}

.refersion-feature-item.peeking .refersion-item-overlay {
	opacity: 1;
}

.refersion-feature-item.peeking:hover {
	transform: translateY(600px);
	/* Slides up on hover */
}

.refersion-feature-item.hidden {
	z-index: 1;
	transform: translateY(800px);
	opacity: 0;
	pointer-events: none;
}

.refersion-feature-badge {
	display: inline-block;
	padding: 6px 16px;
	background: rgba(0, 26, 65, 0.05);
	border-radius: 100px;
	margin-bottom: 30px;
}

.refersion-feature-badge span {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--refersion-primary);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.refersion-feature-text {
	flex: 1;
	text-align: left;
}

.refersion-feature-text h3 {
	color: var(--refersion-primary);
	margin-bottom: 25px;
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	line-height: 1.2;
}

.refersion-feature-description p {
	font-size: 1.1rem;
	line-height: 1.6;
	color: #5F738C;
}

.refersion-feature-image {
	flex: 1;
	display: flex;
	justify-content: center;
}

.refersion-feature-image img {
	max-width: 100%;
	height: auto;
}

.refersion-item-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(to bottom, transparent 0%, #F8FAFB 150px);
	opacity: 0;
	transition: opacity 0.6s ease;
	pointer-events: none;
	z-index: 20;
}

.refersion-feature-item.active .refersion-item-overlay {
	display: none;
}

@media (max-width: 767px) {
	.refersion-scrolling-container {
		height: 720px;
		margin-top: 30px;
		border-radius: 30px;
	}

	.refersion-feature-item {
		flex-direction: column-reverse;
		gap: 30px;
		padding: 40px 25px;
		height: 600px;
		text-align: center;
		border-radius: 30px;
	}

	.refersion-feature-text {
		text-align: center;
	}

	.refersion-feature-badge {
		margin-bottom: 20px;
	}

	.refersion-feature-text h3 {
		font-size: 24px;
		margin-bottom: 15px;
	}

	.refersion-feature-description p {
		font-size: 1rem;
	}

	.refersion-feature-item.peeking {
		transform: translateY(620px);
	}

	.refersion-feature-item.peeking:hover {
		transform: translateY(600px);
	}
}

/* -------------------------------- */
/* Refersion Numbered Features      */
/* -------------------------------- */
.refersion-numbered-features-module .refersion-section-title {
	text-align: center;
	margin-bottom: 60px;
	width: 100%;
}

.refersion-numbered-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 60px;
	/* Increased gap for better connector flow */
	max-width: 1200px;
	margin: 80px auto 0;
}

.refersion-numbered-item {
	flex: 1 1 300px;
	max-width: 380px;
	position: relative;
	text-align: center;
}

.refersion-number-badge-wrapper {
	position: relative;
	margin-bottom: 40px;
	display: flex;
	justify-content: center;
	z-index: 5;
}

.refersion-number-badge {
	width: 60px;
	height: 60px;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	transform: rotate(45deg);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.refersion-number-badge span {
	transform: rotate(-45deg);
	font-weight: 700;
	color: var(--refersion-primary);
	font-size: 1.2rem;
}

/* Refined Arched Connectors */
.refersion-numbered-item:not(:last-child) .refersion-number-badge-wrapper::after {
	content: "";
	position: absolute;
	top: -15px;
	/* Adjust height of the arc */
	left: calc(50% + 40px);
	/* Move point to the right corner of diamond */
	width: calc(100% + 20px);
	/* Span across to the next item */
	height: 60px;
	border: 1px solid rgba(0, 26, 65, 0.1);
	border-bottom: none;
	border-left: none;
	border-right: none;
	border-radius: 50% / 100% 100% 0 0;
	/* Creates the arch */
	z-index: -1;
}

.refersion-numbered-card {
	background: #FFFFFF;
	border: 1px solid #F1F5F9;
	border-radius: 30px;
	padding: 60px 40px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
	margin: 0px 15px;
	height: calc(100% - 90px);
	display: flex;
	flex-direction: column;
	align-items: center;
}

.refersion-numbered-icon {
	height: 80px;
	margin-bottom: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.refersion-numbered-icon img {
	max-height: 100%;
	width: auto;
	opacity: 0.6;
}

.refersion-numbered-text h3 {
	font-size: 1.4rem;
	color: var(--refersion-primary);
	margin-bottom: 20px;
	font-weight: 700;
}

.refersion-numbered-text p {
	font-size: 1rem;
	line-height: 1.6;
	color: #5F738C;
}

@media (max-width: 991px) {
	.refersion-numbered-item:not(:last-child) .refersion-number-badge-wrapper::after {
		display: none;
	}

	.refersion-numbered-grid {
		gap: 60px;
	}
}

/* -------------------------------- */
/* Refersion Bulleted Content       */
/* -------------------------------- */
.refersion-bulleted-content-module {
	padding: 100px 5%;
	background: transparent;
}

.refersion-bulleted-content-module .refersion-container {
	max-width: 1000px;
	margin: 0 auto;
}

.refersion-bulleted-header {
	margin-bottom: 50px;
}

.refersion-bulleted-header .refersion-section-title {
	margin-bottom: 25px;
	font-size: clamp(2rem, 4vw, 2.8rem);
}

.refersion-bulleted-subtext,
.refersion-bulleted-subtext p {
	font-size: 18px;
	line-height: 1.6;
	color: #4A5568;
	max-width: 700px;
}

.refersion-bullets {
	list-style: none !important;
	list-style-type: none !important;
	padding: 0;
	margin: 0;
}

.refersion-bullets li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 20px;
	list-style: none !important;
}

.refersion-bullets li::before {
	content: "";
	background-color: var(--refersion-primary);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 8px;
	/* Adjusted to align with the first line of text */
}

.refersion-bullet-content {
	line-height: 1.6;
}

.refersion-bullet-label {
	font-weight: 700;
	color: var(--refersion-primary);
	margin-bottom: 8px;
	font-size: 1.25rem;
	display: block;
}

.refersion-bullet-desc {
	color: #5F738C;
	font-size: 1.05rem;
	display: block;
}

/* -------------------------------- */
/* Refersion Integrations Grid      */
/* -------------------------------- */
.refersion-integrations-module {
	padding: 100px 5%;
	background: #F4F7F2;
	/* Light subtle green background from design */
}

.refersion-integrations-header {
	margin-bottom: 60px;
	text-align: center;
}

.refersion-integrations-header .refersion-section-title {
	margin-bottom: 20px;
	text-align: center;
}

.refersion-integrations-subtext p {
	font-size: 1.15rem;
	line-height: 1.6;
	color: #4A5568;
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
}

.refersion-integrations-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
	max-width: 1200px;
	margin: 50px auto 0;
}

/* Force 4 columns on desktop */
@media (min-width: 992px) {
	.refersion-integrations-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.refersion-integration-item {
	display: flex;
	background: #FFFFFF;
	border-radius: 20px;
	transition: all 0.3s ease;
	height: 180px;
	align-items: center;
	justify-content: center;
	padding: 30px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
	overflow: hidden;
}

.refersion-integration-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.refersion-integration-link {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.refersion-integration-logo {
	display: flex;
	align-items: center;
	justify-content: center;
}

.refersion-integration-logo img {
	max-width: 150px;
	max-height: 120px;
	width: auto;
	height: auto;
	object-fit: contain;
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 767px) {
	.refersion-integrations-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 15px;
		padding: 0 15px;
	}

	.refersion-integration-item {
		height: 140px;
		padding: 20px;
	}
}

/* -------------------------------- */
/* Refersion Featured Case Study    */
/* -------------------------------- */
.refersion-featured-case-study-module {
	padding: 100px 5%;
	background: transparent;
	/* Very light cool background */
}

.refersion-fcs-card {
	background: #FFFFFF;
	border-radius: 40px;
	padding: 60px;
	max-width: 1250px;
	margin: 0 auto;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.04);
}

.refersion-fcs-grid {
	display: grid;
	grid-template-columns: 4fr 6fr;
	align-items: center;
	gap: 60px;
}

@media (max-width: 991px) {
	.refersion-fcs-grid {
		grid-template-columns: 1fr;
	}
}

.refersion-fcs-image img {
	border-radius: 20px;
	width: 100%;
	height: auto;
	display: block;
}

.refersion-fcs-eyebrow {
	color: #3A86FF;
	font-weight: 700;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 20px;
}

.refersion-fcs-title {
	font-size: clamp(2rem, 4vw, 2.8rem);
	color: var(--refersion-primary);
	margin-bottom: 25px;
	font-weight: 700;
}

.refersion-fcs-desc {
	margin-bottom: 40px;
}

.refersion-fcs-desc p {
	font-size: 16px;
	line-height: 1.6;
	color: #4A5568;
}

.refersion-fcs-quote-block {
	border-left: 3px solid #3A86FF;
	padding-left: 20px;
	margin-bottom: 40px;
}

.refersion-fcs-quote-text {
	font-size: 16px;
	line-height: 1.6;
	color: var(--refersion-primary);
	font-weight: 500;
	margin-bottom: 15px;
}

.refersion-fcs-author {
	font-size: 14px;
	font-weight: 700;
	color: #718096;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.refersion-btn-outline-blue {
	background: transparent;
	border: 1px solid #3026B0;
	color: #3026B0;
	padding: 5px 8px;
	border-radius: 8px;
	font-weight: 500;
}

.refersion-btn-outline-blue:hover {
	background: #3026B0;
	color: #FFFFFF;
}

@media (max-width: 991px) {
	.refersion-fcs-card {
		padding: 40px 30px;
	}
}

/* -------------------------------- */
/* Refersion Featured Case Study V2 */
/* -------------------------------- */
.refersion-fcs-v2-module {
	padding: 100px 0px;
}

.refersion-fcs-v2-card {
	background: #FFFFFF;
	border-radius: 64px;
	padding: 80px;
	margin: 0 auto;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
	border: 1px solid #F1F5F9;
}

.refersion-fcs-v2-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 100px;
	align-items: flex-start;
}

.refersion-fcs-v2-eyebrow {
	color: #3A86FF;
	font-weight: 700;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 40px;
}

.refersion-fcs-v2-headline {
	font-size: 36px;
	color: var(--refersion-primary);
	line-height: 1.15;
	font-weight: 700;
	margin-bottom: 60px;
	letter-spacing: -0.01em;
}

.refersion-fcs-v2-logo img {
	max-height: 60px;
	width: auto;
}

.refersion-fcs-v2-desc {
	margin-bottom: 40px;
}

.refersion-fcs-v2-desc p {
	font-size: 16px;
	line-height: 1.6;
	color: #5F738C;
}

.refersion-fcs-v2-quote-block {
	border-left: 4px solid #3A86FF;
	padding-left: 30px;
	margin-bottom: 60px;
}

.refersion-fcs-v2-quote-text {
	font-size: 16px;
	line-height: 1.5;
	color: var(--refersion-primary);
	font-weight: 400;
	margin-bottom: 20px;
}

.refersion-fcs-v2-author {
	font-size: 0.8rem;
	font-weight: 700;
	color: #718096;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

.refersion-fcs-v2-cta {
	text-align: left;
}

@media (max-width: 1100px) {
	.refersion-fcs-v2-grid {
		grid-template-columns: 1fr;
		gap: 60px;
	}

	.refersion-fcs-v2-card {
		padding: 60px 40px;
		border-radius: 40px;
	}
}

@media (max-width: 767px) {
	.refersion-fcs-v2-card {
		padding: 40px 25px;
		margin: 0 15px !important;
	}

	.refersion-fcs-v2-headline {
		margin-bottom: 40px;
	}
}

/* -------------------------------- */
/* Refersion Case Study Cards       */
/* -------------------------------- */
.refersion-case-study-cards-module {
	padding: 100px 5%;
	background: transparent;
}

.refersion-cs-header {
	margin-bottom: 60px;
	text-align: center;
}

.refersion-cs-subtext p {
	font-size: 1.15rem;
	line-height: 1.6;
	color: #4A5568;
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.refersion-cs-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.refersion-cs-cards-grid.cards-count-1 {
		grid-template-columns: 1fr;
		max-width: 800px;
	}

	.refersion-cs-cards-grid.cards-count-2 {
		grid-template-columns: repeat(2, 1fr);
		max-width: 1000px;
	}
}

.refersion-cs-card {
	background: #FFFFFF;
	border-radius: 40px;
	padding: 50px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
	display: flex;
	flex-direction: column;
	gap: 35px;
}

.refersion-cs-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.refersion-cs-card-partner {
	font-size: 1.4rem;
	color: var(--refersion-primary);
	margin: 0;
	font-weight: 700;
}

.refersion-btn-mini-outline {
	font-size: 0.8rem;
	padding: 8px 15px;
	border: 1px solid #3A86FF;
	border-radius: 6px;
	color: #3A86FF;
	text-decoration: none;
	font-weight: 700;
	transition: all 0.2s ease;
}

.refersion-btn-mini-outline:hover {
	background: #3A86FF;
	color: #FFFFFF;
}

.refersion-cs-card-quote-block {
	border-left: 3px solid #3A86FF;
	padding-left: 25px;
}

.refersion-cs-card-quote p {
	font-size: 1.05rem;
	line-height: 1.6;
	color: #4A5568;
	margin-bottom: 12px;
}

.refersion-cs-card-author {
	font-size: 0.8rem;
	text-transform: uppercase;
	font-weight: 700;
	color: #718096;
	letter-spacing: 0.5px;
}

.refersion-cs-card-middle-img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	display: block;
}

.refersion-cs-card-footer {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 20px;
	align-items: center;
}

.refersion-cs-card-logo img {
	max-width: 100%;
	height: 100%;
	object-fit: contain;
}

.refersion-cs-card-desc p {
	font-size: 0.9rem;
	line-height: 1.5;
	color: #718096;
	margin: 0;
}

/* -------------------------------- */
/* Layout Metrics Styles            */
/* -------------------------------- */
.layout-metrics .refersion-cs-card {
	padding: 45px 40px;
	background: #FFFFFF;
	border-radius: 40px;
	border: 1px solid #E7ECE4;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: all 0.3s ease;
}

.layout-metrics .refersion-cs-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
}

.layout-metrics .refersion-cs-card-partner {
	font-size: 24px;
	font-weight: 500;
	color: #1E1B4B;
	margin-bottom: 35px;
	text-align: left;
}

.refersion-cs-card-metrics {
	display: flex;
	gap: 30px;
	text-align: left;
}

.cs-metric {
	flex: 1;
}

.cs-metric .metric-val {
	font-size: 52px;
	font-weight: 700;
	color: #1E1B4B;
	line-height: 1;
	margin-bottom: 12px;
	letter-spacing: -1px;
}

.cs-metric .metric-label {
	font-size: 14px;
	color: #5F738C;
	line-height: 1.4;
	font-weight: 400;
}

.layout-metrics .refersion-cs-card-middle-img {
	margin-bottom: 0px;
}

.layout-metrics .refersion-cs-card-middle-img img {
	border-radius: 24px;
	width: 100%;
	height: 250px;
	display: block;
	object-fit: cover;
}

.layout-metrics .refersion-cs-card-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	padding-top: 10px;
}

.layout-metrics .refersion-cs-card-logo {
	flex: 0 0 auto;
}

.layout-metrics .refersion-cs-card-logo img {
	max-height: 35px;
	max-width: 140px;
	width: auto;
	object-fit: contain;
}

.layout-metrics .refersion-cs-card-footer .refersion-btn-mini-outline {
	white-space: nowrap;
	flex: 0 0 auto;
}

.layout-metrics .refersion-btn-mini-outline {
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 600;
	color: #3026B0;
	border: 1.5px solid #3026B0;
	border-radius: 12px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.layout-metrics .refersion-btn-mini-outline:hover {
	background: #3026B0;
	color: #FFFFFF;
}

@media (max-width: 767px) {
	.refersion-cs-card-metrics {
		flex-direction: column;
		gap: 20px;
	}

	.cs-metric .metric-val {
		font-size: 42px;
	}

	.layout-metrics .refersion-cs-card {
		padding: 30px;
	}
}

@media (max-width: 1100px) {
	.refersion-cs-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.refersion-cs-cards-grid {
		grid-template-columns: 1fr;
	}

	.refersion-cs-card {
		padding: 35px 25px;
	}
}

/* -------------------------------- */
/* Refersion Testimonials           */
/* -------------------------------- */
.refersion-testimonials-module {
	padding: 80px 5%;
}

.refersion-layout-single .refersion-testimonial-item {
	max-width: 1000px;
	margin: 0 auto;
	border-left: 4px solid #3A86FF;
	padding: 10px 0 10px 40px;
}

.refersion-layout-single .refersion-testi-quote p {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 500;
	color: var(--refersion-primary);
	line-height: 1.4;
	margin-bottom: 25px;
}

.refersion-testi-author-info {
	font-size: 0.9rem;
	font-weight: 700;
	color: #718096;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.refersion-layout-cards .refersion-testimonials-card {
	background: #FFFFFF;
	border-radius: 40px;
	padding: 80px 100px;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.04);
}

.refersion-testi-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #F4F7F2;
	/* Light subtle background for arrows */
	border: none;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--refersion-primary);
	transition: all 0.3s ease;
	z-index: 10;
}

.refersion-testi-nav:hover {
	background: var(--refersion-primary);
	color: #FFFFFF;
}

.refersion-testi-nav.prev {
	left: -30px;
}

.refersion-testi-nav.next {
	right: -30px;
}

.refersion-layout-cards .refersion-testimonial-item {
	display: none;
	animation: fadeInTesti 0.4s ease forwards;
}

.refersion-layout-cards .refersion-testimonial-item.active {
	display: block;
}

@keyframes fadeInTesti {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.refersion-testi-headline {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	color: var(--refersion-primary);
	margin-bottom: 25px !important;
	font-weight: 700;
	text-align: center;
}

.refersion-layout-cards .refersion-testi-quote p {
	font-size: clamp(1.1rem, 1.5vw, 1.25rem);
	line-height: 1.6;
	margin-bottom: 40px;
	color: #4A5568;
	text-align: center;
}

.refersion-testi-avatar {
	width: 80px;
	height: 80px;
	margin: 0 auto 20px;
}

.refersion-testi-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.refersion-layout-cards .refersion-testi-meta {
	text-align: center;
}

.refersion-layout-cards .refersion-testi-logo {
	margin-top: 25px;
	display: flex;
	justify-content: center;
}

@media (max-width: 991px) {
	.refersion-layout-cards .refersion-testimonials-card {
		padding: 50px 30px;
	}

	.refersion-testi-nav.prev {
		left: 10px;
	}

	.refersion-testi-nav.next {
		right: 10px;
	}
}

/* -------------------------------- */
/* Refersion Metrics Block          */
/* -------------------------------- */
.refersion-metrics-module {
	padding: 80px 5%;
}

.refersion-metrics-single {
	background: #EAF2FB;
	border-radius: 40px;
	padding: 100px 40px;
	max-width: 1200px;
	margin: 0 auto;
}

.refersion-metrics-single .refersion-metric-stat {
	font-size: clamp(4rem, 10vw, 7rem);
	font-weight: 700;
	color: var(--refersion-primary);
	line-height: 1;
	margin-bottom: 20px;
}

.refersion-metrics-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 30px;
	max-width: 1400px;
	margin: 0 auto;
}

.refersion-metrics-grid .refersion-metric-item {
	background: #F4F7F2;
	padding: 60px 40px;
	border-radius: 30px;
	text-align: center;
	transition: transform 0.3s ease;
}

.refersion-metrics-grid .refersion-metric-item:hover {
	transform: translateY(-5px);
}

.refersion-metrics-grid .refersion-metric-stat {
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 700;
	color: var(--refersion-primary);
	margin-bottom: 15px;
	line-height: 1.1;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
}

.refersion-metric-label {
	font-size: 1rem;
	color: #4A5568;
	font-weight: 500;
}

.refersion-metric-pfx,
.refersion-metric-sfx {
	font-size: 0.7em;
	vertical-align: middle;
}

@media (max-width: 767px) {
	.refersion-metrics-single {
		padding: 60px 20px;
	}
}

/* -------------------------------- */
/* Refersion FAQ Accordion          */
/* -------------------------------- */
.refersion-faq-module {
	padding: 100px 5%;
	background: transparent;
}

.refersion-faq-header {
	margin-bottom: 60px;
	text-align: center;
}

.refersion-pill-eyebrow {
	display: inline-block;
	padding: 6px 18px;
	background: #DCEAFB;
	color: var(--refersion-primary);
	border-radius: 50px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 20px;
}

.refersion-faq-container {
	max-width: 900px;
	margin: 0 auto;
}

.refersion-faq-item {
	border-bottom: 1px solid rgba(0, 26, 65, 0.1);
}

.refersion-faq-question {
	width: 100%;
	text-align: left;
	padding: 30px 0;
	background: transparent;
	border: none;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--refersion-primary);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: inherit;
	transition: color 0.3s ease;
}

.refersion-faq-question:hover {
	color: #3A86FF;
}

.refersion-faq-icon {
	position: relative;
	width: 20px;
	height: 20px;
	color: var(--refersion-primary);
	transition: transform 0.3s ease;
}

.refersion-faq-icon::before,
.refersion-faq-icon::after {
	content: '';
	position: absolute;
	background: currentColor;
	border-radius: 2px;
}

/* Horizontal line */
.refersion-faq-icon::before {
	top: 9px;
	left: 0;
	width: 20px;
	height: 2px;
}

/* Vertical line */
.refersion-faq-icon::after {
	top: 0;
	left: 9px;
	width: 2px;
	height: 20px;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.refersion-faq-item.active .refersion-faq-icon {
	transform: rotate(180deg);
}

.refersion-faq-item.active .refersion-faq-icon::after {
	transform: rotate(90deg);
	opacity: 0;
}

.refersion-faq-answer {
	max-height: 0;
	overflow: hidden;
	transition: all 0.4s ease;
	opacity: 0;
}

.refersion-faq-item.active .refersion-faq-answer {
	max-height: 1000px;
	padding-bottom: 30px;
	opacity: 1;
}

.refersion-faq-answer p {
	font-size: 1.05rem;
	line-height: 1.6;
	color: #4A5568;
	margin: 0;
}


/* -------------------------------- */
/* Refersion Logos (Static/Carousel)*/
/* -------------------------------- */
.refersion-logos-module {
	padding: 20px 0px;
	background: transparent;
	overflow: hidden;
}

.refersion-logos-headline {
	display: block;
	text-align: center;
	text-transform: uppercase;
	color: #64748B;
	letter-spacing: 1.5px;
	font-size: 0.95rem;
	margin-bottom: 50px;
	font-weight: 500;
}

.refersion-logos-headline strong {
	color: var(--refersion-primary);
	font-weight: 800;
}

.refersion-logos-wrapper {
	width: 100%;
	max-width: none;
	padding: 0 5%;
	margin: 0 auto;
}

.refersion-logos-track {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 24px;
}

.refersion-logos-carousel .refersion-logos-track {
	flex-wrap: nowrap;
	width: fit-content;
	animation: scrollLogos 30s linear infinite;
}

.refersion-logo-slide {
	background: #FFFFFF;
	border-radius: 48px;
	padding: 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 225px;
	min-width: 225px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
	transition: all 0.3s ease;
	text-align: center;
}

.refersion-logo-slide:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.06);
}

.refersion-logo-icon {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.refersion-logo-slide img {
	max-height: 80px;
	width: auto;
	height: auto;
	display: block;
	filter: grayscale(100%) opacity(0.6);
	transition: all 0.3s ease;
}

.refersion-logo-slide:hover img {
	filter: grayscale(0%) opacity(1);
}

.refersion-logo-name {
	font-weight: 700;
	color: #64748B;
	opacity: 0.7;
	font-size: 15px;
	transition: all 0.3s ease;
}

.refersion-logo-slide:hover .refersion-logo-name {
	color: #221F4E;
	opacity: 1;
}

@keyframes scrollLogos {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* -------------------------------- */
/* Refersion CTA Bar (Inline)       */
/* -------------------------------- */
.refersion-cta-bar-module {
	padding: 100px 5%;
	color: var(--refersion-primary);
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.refersion-cta-decoration {
	position: absolute;
	top: 0;
	height: 100%;
	width: 350px;
	pointer-events: none;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.refersion-cta-decoration.left {
	left: 0;
}

.refersion-cta-decoration.right {
	right: 0;
	transform: scaleX(-1);
}

.refersion-cta-bar-content {
	max-width: 800px;
	position: relative;
	z-index: 5;
}

.refersion-cta-bar-headline {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	color: var(--refersion-primary);
	margin: 0 0 40px;
	line-height: 1.3;
	font-weight: 700;
}

@media (max-width: 767px) {
	.refersion-cta-bar-headline {
		margin-bottom: 25px;
	}
}

.refersion-cta-bar-headline .accent-blue {
	color: var(--refersion-secondary);
}

.refersion-btn-reverse {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 30px;
	background: #FF5D2C;
	color: #fff;
	border-radius: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.3s ease;
	border: 2px solid #FF5D2C;
}

.refersion-btn-reverse:hover {
	background: var(--refersion-primary);
	border-color: var(--refersion-primary);
	color: #fff;
	transform: translateY(-2px);
}

/* -------------------------------- */
/* Refersion Full CTA Section       */
/* -------------------------------- */
.refersion-cta-section-module {
	padding: 120px 15px;
	background: transparent;
}

.refersion-cta-card {
	background: var(--refersion-dark-purple);
	border-radius: 80px;
	padding: 100px 50px;
	color: #fff;
	position: relative;
	overflow: hidden;
	max-width: 1300px;
	margin: 0 auto;
}

.refersion-cta-side-decoration {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 150px;
	z-index: 5;
	pointer-events: none;
	opacity: 0.6;
}

.refersion-cta-side-decoration.left {
	left: 0;
}

.refersion-cta-side-decoration.right {
	right: 0;
}

.refersion-cta-side-decoration svg {
	width: 100%;
	height: auto;
}

.refersion-cta-side-decoration svg path {
	stroke: rgba(255, 255, 255, 0.2);
	/* Make the stroke light on the dark background */
}

@media (max-width: 991px) {
	.refersion-cta-side-decoration {
		display: none;
	}
}

.refersion-cta-card-content {
	position: relative;
	z-index: 10;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.refersion-cta-icon {
	margin-bottom: 30px;
	display: flex;
	justify-content: center;
}

.refersion-cta-icon img {
	max-width: 100px;
	border-radius: 20px;
}

.refersion-cta-headline {
	font-size: clamp(2.2rem, 4vw, 3.2rem);
	color: #fff;
	margin: 0 auto 25px;
	line-height: 1.1;
	font-weight: 700;
	text-align: center;
}

.refersion-cta-subtext {
	font-size: 1.15rem;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 auto 50px;
	line-height: 1.6;
	text-align: center;
}

.refersion-cta-actions {
	display: flex;
	justify-content: center;
}

.refersion-btn-coral {
	display: inline-block;
	padding: 18px 45px;
	background: #FF6138;
	color: #fff;
	border-radius: 50px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.3s ease;
	border: none;
	font-size: 1.1rem;
}

.refersion-btn-coral:hover {
	background: #e85530;
	transform: translateY(-3px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
	color: #fff;
}

@media (max-width: 767px) {
	.refersion-cta-card {
		padding: 50px 20px !important;
		border-radius: 40px !important;
	}

	.refersion-cta-side-decoration {
		display: none;
	}

	.refersion-cta-headline {
		font-size: 28px;
	}

	.refersion-cta-subtext {
		margin: 0 auto !important;
	}
}

/* -------------------------------- */
/* Refersion Blog Index Module      */
/* -------------------------------- */
.refersion-blog-index-module {
	padding: 100px 5%;
	background: #F8FAFB;
}

.refersion-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1300px;
	margin: 60px auto 0;
}

.refersion-blog-card {
	background: #fff;
	border-radius: 32px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
}

.refersion-blog-card-link {
	text-decoration: none !important;
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
}

.refersion-blog-card-info {
	padding: 40px 40px 20px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.refersion-blog-card-title {
	font-size: 1.6rem;
	color: var(--refersion-primary);
	margin-bottom: 20px;
	line-height: 1.25;
	font-weight: 700;
}

.refersion-blog-card-excerpt {
	font-size: 1rem;
	color: #5F738C;
	line-height: 1.6;
	margin-bottom: 25px;
}

.refersion-blog-card-btn {
	margin-bottom: 30px;
}

.refersion-read-more-btn {
	display: inline-block;
	padding: 10px 24px;
	border: 1px solid var(--refersion-secondary);
	border-radius: 10px;
	color: var(--refersion-secondary);
	font-size: 0.95rem;
	font-weight: 600;
	transition: all 0.3s ease;
}

.refersion-blog-card:hover .refersion-read-more-btn {
	background: var(--refersion-secondary);
	color: #fff;
}

.refersion-blog-meta-cat {
	font-size: 0.85rem;
	font-weight: 800;
	color: var(--refersion-secondary);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 25px;
}

.refersion-blog-card-img {
	width: 100%;
	padding: 0 30px 30px;
	margin-top: auto;
}

.refersion-blog-card-img img {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
	border-radius: 20px;
	background: #f0f0f0;
}

.refersion-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin-top: 50px;
}

.refersion-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border-radius: 8px;
	background: #F9FFF1;
	color: #221F4E;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
}

.refersion-pagination .page-numbers.current {
	background: var(--refersion-secondary);
	color: #fff;
}

.refersion-pagination a.page-numbers:hover {
	background: #E5F0D9;
}

@media (max-width: 1100px) {
	.refersion-blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.refersion-blog-grid {
		grid-template-columns: 1fr;
	}

	.refersion-blog-card-info {
		padding: 30px 30px 15px;
	}
}

/* -------------------------------- */
/* Refersion Blog Metadata          */
/* -------------------------------- */
.refersion-meta-label {
	font-weight: 700;
	color: var(--refersion-primary);
	margin-right: 5px;
}

.refersion-meta-share .refersion-share-btn {
	display: inline-block;
	background: #F8FAFB;
	color: var(--refersion-primary);
	padding: 5px 12px;
	border-radius: 4px;
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 600;
	margin-right: 10px;
	transition: background 0.3s ease;
}

.refersion-share-btn:hover {
	background: var(--refersion-secondary);
	color: #fff;
}

/* -------------------------------- */
/* Refersion Label Tags (Centered)  */
/* -------------------------------- */
.refersion-label-tags-module {
	padding: 50px 5%;
	background: transparent;
	text-align: center;
}

.refersion-pill-label-wrapper {
	margin-bottom: 25px;
}

.refersion-pill-label {
	display: inline-block;
	padding: 6px 16px;
	background: rgba(0, 26, 65, 0.08);
	border-radius: 50px;
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--refersion-primary);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.refersion-label-tags-headline {
	font-size: 20px;
	color: var(--refersion-primary);
	margin: 0 auto 30px;
	line-height: 1.15;
	font-weight: 700;
	max-width: 900px;
}

.refersion-label-tags-subtext {
	font-size: 1.1rem;
	color: #5F738C;
	line-height: 1.6;
	max-width: 750px;
	margin: 0 auto;
}


/* --- MIGRATED CPT STYLES (SKELETON) --- */
:root {
	--scale: 1;
	/* Variable used by old theme math */
}

/* --- SINGLE CASE STUDY & ARTICLE HERO --- */
.single-cs__hero,
.single-article__hero {
	padding: 60px 0 100px;
	background-color: #071A2B;
	color: #fff;
	position: relative;
}

.single-cs__hero .single-post__back-btn a,
.single-article__hero .single-post__back-btn a {
	color: #fff;
	border: 1px solid #fff;
	padding: 10px 20px;
	border-radius: 4px;
}

.single-cs__title-wrapper,
.single-article__title-wrapper {
	text-align: center;
	margin-bottom: 40px;
}

.single-cs__title,
.single-article__title {
	margin-bottom: 20px;
}

.single-cs__thumbnail-wrapper,
.single-article__thumbnail-wrapper {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
}

.single-cs__thumbnail,
.single-article__thumbnail {
	width: 100%;
	height: auto;
	border-radius: 12px;
}

/* --- CASE STUDY SPECIFICS --- */
.single-cs__logo-wrapper {
	position: absolute;
	top: 32px;
	left: 32px;
	background: #fff;
	padding: 16px 20px;
	border-radius: 12px;
}

.single-cs__logo {
	max-height: 70px;
}

.single-cs__content {
	padding: 60px 0;
}

.single-cs-info-wrapper {
	display: flex;
	gap: 30px;
	margin-bottom: 40px;
}

.cs-text-content-wrapper {
	max-width: 800px;
	margin: 0 auto;
}

/* --- ARTICLE SPECIFICS --- */
.single-article__footer {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-top: 60px;
}

.article-footer-author {
	text-align: center;
}

.article-footer-author__image img {
	width: 90px;
	height: 90px;
	border-radius: 50%;
}

/* --- ARCHIVE LISTINGS --- */
.posts-page__content {
	padding: 60px 0;
}

.blog-archive {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.archived-case-study,
.archived-article {
	background: #f9f9f9;
	border-radius: 12px;
	overflow: hidden;
	padding-bottom: 20px;
}

.archived-cs__feat,
.archived-article__feat-wrapper {
	display: block;
	position: relative;
}

.archived-cs__logo-wrapper {
	position: absolute;
	top: 20px;
	left: 20px;
	background: #fff;
	padding: 10px;
	border-radius: 8px;
}

.archived-cs__logo {
	max-height: 40px;
}

.archived-cs__content,
.archived-article__content {
	padding: 24px;
}

.archived-cs__title,
.archived-article__title {
	font-size: 1.5rem;
	font-weight: bold;
	display: block;
	margin-bottom: 12px;
}

.get-demo-cta {
	background: #BEEBFA;
	padding: 40px;
	border-radius: 12px;
	text-align: center;
	margin-top: 60px;
}

/* --- RESPONSIVE ADJUSTMENTS --- */
@media (max-width: 991px) {
	.blog-archive {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.blog-archive {
		grid-template-columns: 1fr;
	}
}

/* -------------------------------- */
/* Refersion Global Footer Module   */
/* -------------------------------- */
.refersion-footer-module {
	background-color: #221F4E;
	border-radius: 64px;
	padding: 70px;
	color: #FFFFFF;
	font-family: var(--refersion-font-family);
	margin: 15px;
}

.refersion-footer-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 50px;
}

.refersion-footer-top-right {
	display: flex;
	align-items: center;
	gap: 40px;
}

.refersion-footer-nav {
	display: flex;
	align-items: center;
	gap: 30px;
}

.refersion-footer-nav a {
	color: #FFFFFF;
	text-decoration: none;
	font-weight: 500;
	font-size: 1rem;
	transition: opacity 0.3s ease;
}

.refersion-footer-nav a:hover {
	opacity: 0.8;
}

.refersion-footer-cta-row {
	display: flex;
	align-items: center;
	gap: 30px;
}

.refersion-footer-cta-primary {
	background: #F9FFF1;
	color: #1E1B4B !important;
	padding: 16px 40px;
	border-radius: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
}

.refersion-footer-cta-primary:hover {
	background: #FFFFFF;
	transform: translateY(-2px);
}

.refersion-footer-cta-secondary {
	color: #FFFFFF;
	text-decoration: none;
	font-weight: 600;
	font-size: 1rem;
	transition: opacity 0.3s ease;
}

.refersion-footer-cta-secondary:hover {
	opacity: 0.8;
}

.refersion-footer-grid {
	display: flex;
	gap: 60px;
	justify-content: space-between;
}

.refersion-footer-col-left {
	flex: 0 0 45%;
	display: flex;
	flex-direction: column;
}

.refersion-footer-logo img {
	max-height: 40px;
	width: auto;
}

.refersion-footer-headline {
	color: #F9FFF1;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.1;
	max-width: 600px;
	margin: 0 0 15px 0;
	letter-spacing: -0.02em;
}

.refersion-footer-disclaimer {
	color: rgba(255, 255, 255, 0.8);
	font-size: 16px;
	margin-bottom: 30px;
}

.refersion-footer-socials {
	display: flex;
	gap: 8px;
	margin-bottom: 50px;
}

.refersion-footer-social-icon {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: rgb(45, 41, 102);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	text-decoration: none;
	transition: background 0.3s ease;
}

.refersion-footer-social-icon:hover {
	background: rgba(255, 255, 255, 0.2);
}

.refersion-footer-social-icon svg {
	width: 18px;
	height: 18px;
}

.refersion-footer-copyright {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
	margin-top: auto;
}

/* Right side widgets */
.refersion-footer-col-right {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.refersion-widget-title,
.refersion-footer-widget-area h2,
.refersion-footer-widget-area h3 {
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 25px;
}

.refersion-footer-widget-area ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.refersion-footer-widget-area ul li {
	list-style: none !important;
	margin-bottom: 8px !important;
	padding: 0 !important;
}

.refersion-footer-widget-area ul li::before,
.refersion-footer-widget-area ul li::after {
	display: none !important;
	content: none !important;
}

.refersion-footer-widget-area ul li a {
	color: #FFFFFF;
	opacity: 0.8;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.2 !important;
	font-weight: 400;
	transition: opacity 0.3s ease;
	padding: 0 !important;
	display: inline-block;
}

.refersion-footer-widget-area ul li a:hover {
	opacity: 1;
}

/* Sub-menu styling for nested links */
.refersion-footer-widget-area ul ul {
	margin-top: 8px !important;
	margin-left: 16px !important;
}

@media (max-width: 991px) {
	.refersion-footer-top {
		flex-wrap: wrap;
		gap: 30px;
	}

	.refersion-footer-top-right {
		flex-wrap: wrap;
		gap: 20px;
	}

	.refersion-footer-nav {
		flex-wrap: wrap;
		gap: 20px;
	}

	.refersion-footer-grid {
		flex-direction: column;
		gap: 50px;
	}

	.refersion-footer-col-right {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.refersion-footer-module {
		padding: 50px 25px;
		border-radius: 40px;
		margin: 10px;
	}

	.refersion-footer-top {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 40px;
		gap: 25px;
	}

	.refersion-footer-top-right {
		flex-wrap: wrap;
		gap: 20px;
	}

	.refersion-footer-nav {
		flex-wrap: wrap;
		gap: 15px;
	}

	.refersion-footer-nav a {
		font-size: 0.85rem;
	}

	.refersion-footer-cta-row {
		flex-wrap: wrap;
		gap: 15px;
	}

	.refersion-footer-cta-primary {
		padding: 14px 24px;
		font-size: 0.9rem;
	}

	.refersion-footer-cta-secondary {
		font-size: 0.9rem;
	}

	.refersion-footer-headline {
		font-size: 34px;
		line-height: 1.15;
	}

	.refersion-footer-col-right {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

/* -------------------------------- */
/* Refersion Resources Module       */
/* -------------------------------- */
.refersion-resources-module {
	padding: 10px 5%;
}

.refersion-resources-header {
	text-align: center;
	margin-bottom: 60px;
}

.refersion-resources-subtitle {
	max-width: 700px;
	margin: 20px auto 0;
	color: #221F4E;
	font-size: 1.1rem;
	line-height: 1.6;
}

.refersion-resources-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1300px;
	margin: 0 auto 60px;
}

@media (min-width: 768px) {
	.refersion-resources-grid.posts-count-1 {
		grid-template-columns: 1fr;
		max-width: 800px;
	}

	.refersion-resources-grid.posts-count-2 {
		grid-template-columns: repeat(2, 1fr);
		max-width: 1000px;
	}
}

.refersion-resource-card {
	background: #FFFFFF;
	border-radius: 32px;
	padding: 40px;
	display: flex;
	flex-direction: column;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
}

.refersion-resource-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.05);
}

.refersion-resource-title {
	font-size: 20px;
	color: var(--refersion-primary);
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 15px;
}

.refersion-resource-content {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.refersion-resource-excerpt {
	font-size: 0.95rem;
	color: #5F738C;
	line-height: 1.6;
	margin-bottom: 25px;
	flex-grow: 1;
}

.refersion-resource-footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 30px;
}

.refersion-resource-read-more {
	margin-bottom: 0;
}

.refersion-resource-eyebrow {
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--refersion-secondary);
	letter-spacing: 1px;
	margin-bottom: 0;
}

.refersion-resource-image {
	margin-top: auto;
	width: 100%;
}

.refersion-resource-image img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	display: block;
}

.refersion-resources-footer {
	text-align: center;
}

@media (max-width: 1100px) {
	.refersion-resources-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.refersion-resources-grid {
		grid-template-columns: 1fr;
	}

	.refersion-resource-card {
		padding: 30px;
	}
}

/* -------------------------------- */
/* Refersion Categorized Integrations */
/* -------------------------------- */
.refersion-int-card {
	background: transparent;
	border: 1px solid #FFFFFF;
	border-radius: 48px;
	padding: 50px 40px;
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-sizing: border-box;
}

.refersion-int-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.refersion-int-card-cta {
	background-color: #ffffff;
	justify-content: center;
	text-align: center;
}

.refersion-int-card-title {
	font-size: 20px;
	font-weight: 700;
	color: #221F4E;
	margin-bottom: 35px;
}

.refersion-int-list {
	display: flex;
	flex-direction: column;
}

.refersion-int-item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 15px 0;
	border-bottom: 1px dotted rgba(34, 31, 78, 0.15);
	text-decoration: none !important;
	transition: opacity 0.3s ease;
}

.refersion-int-item:last-child {
	border-bottom: none;
}

.refersion-int-item:hover {
	opacity: 0.8;
}

.refersion-int-icon-box {
	width: 60px;
	height: 60px;
	background: #FFFFFF;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
	flex-shrink: 0;
}

.refersion-int-icon-box img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.refersion-int-name {
	font-size: 13px;
	font-weight: 800;
	color: #221F4E;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.refersion-int-cta-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
}

.refersion-int-cta-text {
	font-size: 1.5rem;
	font-weight: 600;
	color: #221F4E;
	line-height: 1.3;
	margin: 0;
}

/* -------------------------------- */
/* Refersion Partner Cards Grid     */
/* -------------------------------- */
.refersion-partner-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 225px);
	justify-content: center;
	gap: 25px;
	max-width: 1100px;
	margin: 0 auto;
}

.refersion-partner-card {
	background: #FFFFFF;
	border-radius: 32px;
	width: 225px;
	height: 165px;
	padding: 25px 15px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
	border: 1px solid #E7ECE4;
	box-sizing: border-box;
}

.refersion-partner-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
}

.refersion-partner-card.is-featured {
	background: #F1F6EF !important;
	border-color: #DFE6DB;
}

.partner-card-logo {
	height: 60px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

.partner-card-logo img {
	max-width: 100px;
	max-height: 50px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.partner-card-name {
	font-size: 18px;
	font-weight: 500;
	color: var(--refersion-primary);
	margin: 0;
}

@media (max-width: 767px) {
	.refersion-partner-cards-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 12px;
		padding: 0 15px;
	}

	.refersion-partner-card {
		width: 100%;
		height: 90px;
		padding: 15px 10px;
		border-radius: 20px;
	}

	.partner-card-name {
		display: none;
	}

	.partner-card-logo {
		height: 100%;
		margin-bottom: 0;
	}

	.partner-card-logo img {
		max-width: 100%;
		max-height: 45px;
	}
}

.partner-card-link {
	text-decoration: none;
	display: block;
	width: 100%;
}

@media (max-width: 640px) {
	.refersion-partner-card {
		width: 100%;
		max-width: 225px;
	}
}

/* -------------------------------- */
/* Refersion Orange Glow Section    */
/* -------------------------------- */
.refersion-orange-glow {
	position: relative;
	overflow: visible !important;
	padding: 120px 0 !important;
}

.refersion-orange-glow::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	max-width: 900px;
	height: 450px;
	background: radial-gradient(ellipse at center, rgba(255, 107, 53, 1) 0%, rgba(255, 107, 53, 0) 70%);
	filter: blur(60px);
	z-index: 0;
	pointer-events: none;
}

.refersion-orange-glow .wpb_wrapper {
	position: relative;
	z-index: 1;
	text-align: center;
}

/* Helper for the white circular badge in the image */
.refersion-glow-badge {
	width: 50px;
	height: 50px;
	background: #FFFFFF;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 30px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.refersion-glow-badge img {
	width: 24px;
	height: auto;
}

.refersion-glow-text {
	color: #FFFFFF;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.3;
	max-width: 700px;
	margin: 0 auto;
}

/* Enhanced CTA Card Styles */
.refersion-int-align-left .refersion-int-cta-content {
	align-items: flex-start;
	text-align: left;
}

.refersion-int-align-center .refersion-int-cta-content {
	align-items: center;
	text-align: center;
}

.refersion-int-cta-title {
	font-size: 20px;
	font-weight: 500;
	color: #221F4E;
	margin-bottom: 10px;
	line-height: 27px;
}

.refersion-int-cta-text {
	font-size: 16px;
	color: #5F738C;
	line-height: 1.5;
	margin-bottom: 25px;
}

.refersion-int-cta-footer {
	margin-top: auto;
	width: 100%;
}

.refersion-int-card-image img {
	max-width: 120px;
	height: auto;
	display: block;
}

/* Card Background Styles */
.refersion-int-bg-white {
	background-color: #FFFFFF !important;
	border: none !important;
	box-shadow: 0 15px 45px rgba(0, 0, 0, 0.05);
}

.refersion-int-bg-transparent {
	background: transparent !important;
	border: 1px solid #FFFFFF !important;
	box-shadow: none !important;
}

/* Equal Height & Footer Alignment Fix */
.refersion-int-card {
	display: flex !important;
	flex-direction: column !important;
}

.refersion-int-cta-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.refersion-int-cta-main {
	flex-grow: 1;
}

.refersion-int-cta-footer {
	margin-top: auto;
	padding-top: 20px;
}

/* Nuclear Fix for WPBakery Equal Height Columns */
.vc_row-o-equal-height .vc_column-inner,
.vc_row-o-equal-height .vc_column-inner .wpb_wrapper {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
	height: 100% !important;
}

/* Vertical Centering for Centered Layouts */
.refersion-int-align-center .refersion-int-cta-content {
	justify-content: center;
}

.refersion-int-align-center .refersion-int-cta-main {
	flex-grow: 0;
	margin-bottom: 30px;
}

.refersion-int-align-center .refersion-int-cta-footer {
	margin-top: 0;
}

/* Label Tags Top Image Styles */
.refersion-top-image {
	margin-bottom: 20px;
}

.refersion-top-image img {
	max-width: 150px;
	height: auto;
	margin: 0 auto;
	display: block;
}

/* Dual CTA Bar Styles */
.refersion-cta-dual-layout {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	padding: 60px 0;
}

.refersion-cta-actions-container {
	position: relative;
	display: inline-block;
	margin: 0 auto;
	text-align: center;
}

.refersion-cta-bar-actions {
	display: flex;
	gap: 20px;
	justify-content: center;
	align-items: center;
}

.refersion-cta-svg-decor {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 504px;
	pointer-events: none;
	opacity: 0.6;
}

.refersion-cta-svg-decor.left {
	right: 100%;
	margin-right: 40px;
}

.refersion-cta-svg-decor.right {
	left: 100%;
	margin-left: 40px;
}

.refersion-cta-svg-decor svg {
	width: 100%;
	height: auto;
	display: block;
}

/* Button Outline Style */
.refersion-btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 30px;
	background: transparent;
	color: #FF5D2C;
	border: 2px solid #FF5D2C;
	border-radius: 16px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.3s ease;
}

.refersion-btn-outline:hover {
	background: rgba(255, 93, 44, 0.05);
	transform: translateY(-2px);
}

@media (max-width: 1024px) {
	.refersion-cta-svg-decor {
		display: none;
	}
}

@media (max-width: 767px) {
	.refersion-cta-bar-actions {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: stretch;
		gap: 12px;
		width: 100%;
		padding: 0 15px;
	}

	.refersion-cta-bar-actions .refersion-btn {
		flex: 1;
		padding: 12px 10px;
		font-size: 0.95rem;
		min-width: 0;
		white-space: normal;
		text-align: center;
		line-height: 1.2;
	}

	/* Global Section Padding Overrides */
	[class*="-module"] {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.refersion-cta-dual-layout {
		min-height: 0 !important;
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}
}

/* Refersion Video Carousel Styles */
.refersion-video-carousel-module {
	padding: 80px 0;
}

.refersion-video-carousel-header {
	margin-bottom: 50px;
	text-align: center;
}

.refersion-video-marquee-wrapper {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.refersion-video-track {
	display: flex;
	white-space: nowrap;
}

.is-marquee .refersion-video-track {
	animation: testimonialScroll 30s linear infinite;
	width: max-content;
}

.is-marquee:hover .refersion-video-track {
	animation-play-state: paused;
}

.refersion-video-card {
	width: 220px;
	padding: 0 10px;
	flex: 0 0 220px;
	flex-shrink: 0;
}

@media (max-width: 767px) {
	.refersion-video-card {
		width: 180px;
		flex: 0 0 180px;
	}

	.refersion-video-card-inner {
		height: 240px !important;
	}
}

.refersion-video-card-inner {
	background: #EEE7DD;
	border-radius: 20px;
	padding: 12px;
	height: 290px;
	/* New targeted height */
	display: flex;
	flex-direction: column;
	transition: transform 0.3s ease;
}

.refersion-video-card:hover .refersion-video-card-inner {
	transform: translateY(-5px);
}

.refersion-video-media {
	width: 100%;
	flex-grow: 1;
	border-radius: 16px;
	overflow: hidden;
	background: #000;
	margin-bottom: 12px;
	position: relative;
}

.refersion-video-media video,
.refersion-video-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.refersion-video-brand {
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.refersion-video-logo img {
	max-height: 22px;
	width: auto;
	filter: grayscale(1) opacity(0.8);
	transition: all 0.3s ease;
}

.refersion-video-name {
	font-weight: 800;
	text-transform: uppercase;
	font-size: 0.9rem;
	color: var(--refersion-primary);
}

.flickity-prev-next-button {
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.flickity-prev-next-button:hover {
	background: #FF5D2C;
	color: #fff;
}

.refersion-video-carousel-header .refersion-pill-label {
	background: #EEE7DD;
	color: #221F4E;
	padding: 8px 20px;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	box-shadow: none;
}

/* Label Tags Size Variations */
.refersion-size-small .refersion-label-tags-headline {
	font-size: 20px;
	max-width: 100%;
}

.refersion-size-large .refersion-label-tags-headline {
	font-size: clamp(2rem, 5vw, 3.2rem);
	max-width: 900px;
	margin-bottom: 40px;
}

.refersion-size-large .refersion-label-tags-subtext {
	font-size: 1.2rem;
	max-width: 700px;
	margin: 0 auto;
}

/* Refersion Flow Header Styles */
.refersion-flow-header-module {
	padding: 100px 0 0;
	position: relative;
	overflow: visible;
}

.refersion-flow-content {
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: 700;
	color: var(--refersion-primary);
	line-height: 1.2;
	max-width: 800px;
	margin: 0 auto 60px;
}

.refersion-flow-lines-wrapper {
	position: relative;
	height: 235px;
	/* Height of the SVGs */
	width: 100%;
	display: flex;
	justify-content: center;
	pointer-events: none;
}

.refersion-flow-line {
	position: absolute;
	bottom: 0;
}

.refersion-flow-line.left {
	right: 50%;
	transform: translateX(0);
}

.refersion-flow-line.right {
	left: 50%;
	transform: translateX(0);
}

.refersion-flow-line svg {
	display: block;
	height: 235px;
	width: auto;
}

@media (max-width: 1024px) {
	.refersion-flow-line svg {
		width: 300px;
		height: auto;
	}

	.refersion-flow-lines-wrapper {
		height: 157px;
	}
}


/* Refersion Feature Carousel Styles */

/* Refersion Feature Carousel Styles - 3 Card Focus */
.refersion-feature-carousel-module {
	padding: 50px 0 150px;
	overflow: hidden;
	/* Hide any cards beyond the 3 visible ones */
}

.refersion-feature-flickity {
	max-width: 1500px;
	/* Limits width to roughly 3 cards */
	margin: 0 auto;
	overflow: visible;
}

.refersion-feature-slide {
	width: 520px;
	/* Larger cards to fill the space */
	padding: 0 20px;
	opacity: 0.5;
	transition: all 0.6s cubic-bezier(0.2, 1, 0.3, 1);
	transform: scale(0.9);
}

.refersion-feature-slide.is-selected {
	opacity: 1;
	transform: scale(1.05);
	z-index: 5;
}

.refersion-feature-card {
	border-radius: 32px;
	padding: 45px;
	height: 100%;
	display: flex;
	flex-direction: column;
	min-height: 560px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.03);
}

.refersion-feature-card.bg-blue {
	background: #F1F6FE;
}

.refersion-feature-card.bg-beige {
	background: #F4EFE9;
}

.refersion-feature-media {
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px;
}

.refersion-feature-media img,
.refersion-feature-media video {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.refersion-feature-text {
	text-align: left;
}

.refersion-feature-title {
	font-size: 2rem;
	font-weight: 700;
	color: var(--refersion-primary);
	margin-bottom: 15px;
}

.refersion-feature-desc {
	font-size: 1.15rem;
	color: #64748B;
	line-height: 1.5;
}

/* Pagination & Arrows - High Fidelity */
.refersion-feature-flickity .flickity-page-dots {
	bottom: -80px;
}

.refersion-feature-flickity .flickity-page-dots .dot {
	width: 10px;
	height: 10px;
	background: #E2E8F0;
	opacity: 1;
	margin: 0 8px;
	transition: all 0.3s ease;
}

.refersion-feature-flickity .flickity-page-dots .dot.is-selected {
	width: 45px;
	height: 12px;
	background: var(--refersion-primary);
	border-radius: 6px;
}

.refersion-feature-flickity .flickity-prev-next-button {
	top: auto;
	bottom: -94px;
	width: 48px;
	height: 48px;
	background: transparent;
	color: var(--refersion-primary);
	transform: none;
	transition: all 0.3s ease;
	opacity: 0.4;
	/* Faded by default */
}

.refersion-feature-flickity .flickity-prev-next-button:hover {
	opacity: 1;
	/* Clear on hover */
	background: rgba(0, 0, 0, 0.03);
}

.refersion-feature-flickity .flickity-prev-next-button.previous {
	left: calc(50% - 150px);
}

.refersion-feature-flickity .flickity-prev-next-button.next {
	right: calc(50% - 150px);
}

@media (max-width: 1024px) {
	.refersion-feature-slide {
		width: 80vw;
		padding: 0 15px;
		box-sizing: border-box;
	}

	.refersion-feature-flickity .flickity-prev-next-button {
		display: none;
	}
}

@media (max-width: 767px) {
	.refersion-feature-slide {
		width: 90vw;
		padding: 0 10px;
		box-sizing: border-box;
	}

	.refersion-feature-card {
		padding: 30px 25px;
		min-height: auto;
	}

	.refersion-feature-title {
		font-size: 1.6rem;
	}
}

/* Feature Carousel Edge Fading (Gradient Opacity) */
.refersion-feature-carousel-module::before,
.refersion-feature-carousel-module::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 25%;
	/* How much of the side is faded */
	z-index: 10;
	pointer-events: none;
	/* Allow clicking through the fade */
}

/*.refersion-feature-carousel-module::before {
	left: 0;
	background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.refersion-feature-carousel-module::after {
	right: 0;
	background: linear-gradient(to left, #fff 0%, rgba(255, 255, 255, 0) 100%);
}*/

/* Ensure arrows are above the fade */
.refersion-feature-flickity .flickity-prev-next-button {
	z-index: 20 !important;
}

.refersion-feature-flickity .flickity-page-dots {
	z-index: 20 !important;
}


/* Refersion Testimonial Scroller Styles */
.refersion-testimonial-scroller-wrapper {
	width: 100%;
	overflow: hidden;
	padding: 20px 0;
	position: relative;
}

.refersion-testimonial-track {
	display: flex;
	white-space: nowrap;
}

/* Continuous Scroll (Marquee) Animation */
.is-marquee .refersion-testimonial-track {
	animation: testimonialScroll 40s linear infinite;
	width: max-content;
}

.is-marquee.dir-right .refersion-testimonial-track {
	animation-direction: reverse;
}

@keyframes testimonialScroll {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

.is-marquee:hover .refersion-testimonial-track {
	animation-play-state: paused;
}

.refersion-testimonial-card {
	flex: 0 0 auto;
	width: 420px;
	margin-right: 30px;
}

.testimonial-card-inner {
	background: #fff;
	border-radius: 20px;
	padding: 25px;
	display: flex;
	align-items: center;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	border: 1px solid #F1F5F9;
	height: 100%;
}

.testimonial-logo-box {
	width: 150px;
	height: 150px;
	min-width: 150px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px;
	margin-right: 20px;
}

.testimonial-logo-box img {
	max-width: 100%;
	height: auto;
	filter: brightness(0) invert(1);
	/* Force white logos */
}

.testimonial-content {
	white-space: normal;
	/* Allow text wrapping inside card */
}

.testimonial-stars {
	color: #FF5D2C;
	font-size: 0.8rem;
	margin-bottom: 8px;
}

.testimonial-quote {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--refersion-primary);
	line-height: 1.4;
	margin-bottom: 10px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.testimonial-author {
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	color: #94A3B8;
	letter-spacing: 0.05em;
}


/* Refersion Comparison Module Styles */
.refersion-comparison-module {
	padding: 100px 0;
}

.refersion-comparison-headline {
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: 700;
	color: var(--refersion-primary);
	max-width: 700px;
	margin: 0 auto 60px;
	line-height: 1.2;
	text-align: center;
}

.refersion-comparison-grid {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}

.refersion-comparison-col {
	flex: 1;
	border-radius: 32px;
	padding: 50px 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.them-col {
	background: #E5E1DE;
	transform: scale(0.95);
}

.us-col {
	background: #fff;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
	transform: scale(1);
	z-index: 2;
}

.col-title {
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--refersion-primary);
	margin-bottom: 40px;
}

.comparison-points {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.comparison-pill {
	background: #F8F9FA;
	border-radius: 50px;
	padding: 12px 25px;
	display: flex;
	align-items: center;
	gap: 15px;
	width: 100%;
}

.us-col .comparison-pill {
	background: #F1F9F1;
	/* Soft green for US */
}

.pill-icon {
	width: 24px;
	height: 24px;
	min-width: 24px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	font-weight: 900;
}

.them-col .pill-icon {
	background: #FF5D2C;
	color: #fff;
}

.us-col .pill-icon {
	background: #2D9B44;
	color: #fff;
}

.pill-text {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--refersion-primary);
}

@media (max-width: 767px) {
	.refersion-comparison-headline {
		text-align: center;
		font-size: 32px;
		margin-bottom: 40px;
		padding: 0 15px;
	}

	.refersion-comparison-grid {
		flex-direction: column;
		gap: 30px;
		padding: 0 15px;
	}

	.them-col,
	.us-col {
		transform: scale(1) !important;
		width: 100%;
		padding: 30px 20px;
		box-sizing: border-box;
	}
}

/* Refersion Pricing Table */
.refersion-pricing-wrapper {
	padding: 50px 0;
}

.refersion-pricing-toggle-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-bottom: 80px;
	position: relative;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}

.refersion-pricing-switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 34px;
}

.refersion-pricing-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #221F4E;
	transition: .4s;
	border-radius: 34px;
}

.slider:before {
	position: absolute;
	content: '';
	height: 26px;
	width: 26px;
	left: 4px;
	bottom: 4px;
	background-color: white;
	transition: .4s;
	border-radius: 50%;
}

input:checked+.slider:before {
	transform: translateX(26px);
}

.yearly-badge {
	background: #00B67A !important;
	color: #fff !important;
	padding: 4px 12px;
	border-radius: 20px;
	font-weight: 800;
	font-size: 0.75rem;
}

/* Toggle Logic */
.price-yearly {
	display: none;
}

.show-yearly .price-yearly {
	display: inline-block;
}

.show-yearly .price-monthly {
	display: none;
}

.refersion-pricing-grid {
	display: flex;
	justify-content: center;
	gap: 25px;
	max-width: 1200px;
	margin: 0 auto;
}

.refersion-pricing-card {
	flex: 1;
	background: #E7ECE4 !important;
	border-radius: 32px;
	padding: 60px 20px;
	/* Reduced horizontal padding from 40px */
	position: relative;
	text-align: center;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	border: 1px solid transparent;
}

.refersion-pricing-card.is-popular {
	border: 2px solid #00B67A !important;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
}

.popular-tag {
	position: absolute;
	top: 30px;
	right: 30px;
	background: #E6F6F0 !important;
	color: #00B67A !important;
	font-size: 0.65rem;
	font-weight: 900;
	padding: 6px 12px;
	border-radius: 12px;
}

.plan-title {
	font-size: 28px;
	font-weight: 500;
	color: var(--refersion-primary);
	margin-bottom: 25px;
}

.best-for-box {
	background: #DFE6DB !important;
	border-radius: 16px;
	padding: 25px 0px;
	margin-bottom: 40px;
	min-height: 110px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.best-for-label {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: #64748B;
	margin-bottom: 5px;
}

.best-for-text {
	font-size: 22px;
	font-weight: 500;
	color: var(--refersion-primary);
}

.plan-price-area {
	min-height: 120px !important;
	/* Reduced from 160px to remove whitespace */
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 20px !important;
}

.price-display {
	font-size: 5rem;
	font-weight: 700;
	color: var(--refersion-primary);
	margin-bottom: 10px !important;
	/* Restored */
	line-height: 1 !important;
	/* Restored */
}

.price-currency {
	font-size: 1.8rem;
	vertical-align: super;
	margin-right: 5px;
}

.price-suffix {
	font-size: 1.1rem;
	color: #64748B;
}

.sub-price-text {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--refersion-primary);
	margin-bottom: 30px !important;
	min-height: 1.5em;
	/* LOCKS BUTTON HEIGHT even if text is empty */
}

.pricing-btn {
	background: #3026B0 !important;
	color: #fff !important;
	padding: 18px 30px;
	border-radius: 12px;
	font-weight: 500;
	text-decoration: none;
	margin-bottom: 40px;
}

.plan-features {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left;
}

.plan-features li {
	font-size: 20px;
	font-weight: 500;
	color: var(--refersion-primary);
	margin-bottom: 18px !important;
	padding-left: 35px !important;
	position: relative;
	list-style-type: none !important;
}

.plan-features li::before {
	content: '\2713' !important;
	position: absolute;
	left: 0;
	color: var(--refersion-primary);
	font-weight: 900;
}

.plan-features li.not-included {
	color: #94A3B8;
	text-decoration: line-through;
}

.plan-features li.not-included::before {
	content: '\2715' !important;
	color: #FF5D2C !important;
}

@media (max-width: 767px) {
	.refersion-pricing-grid {
		flex-direction: column;
		gap: 30px;
		padding: 0 15px;
	}

	.refersion-pricing-card {
		width: 100%;
		box-sizing: border-box;
		padding: 40px 20px;
	}

	.price-display {
		font-size: 4rem;
	}
}

/* Refersion Scale Card Styles */
.refersion-scale-card-module {
	padding: 40px 0;
	max-width: 1200px;
	margin: 0 auto;
}

.refersion-scale-card-inner {
	background: #E7ECE4;
	border-radius: 32px;
	padding: 50px 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
}

.refersion-scale-card-main {
	flex: 1;
}

.scale-card-icon {
	margin-bottom: 25px;
}

.scale-card-icon img {
	max-height: 50px;
	width: auto;
}

.scale-card-title {
	font-size: 32px;
	font-weight: 500;
	color: var(--refersion-primary);
	margin: 0 0 10px !important;
}

.scale-card-subtitle {
	font-size: 1.15rem;
	font-weight: 700;
	color: #475569;
	margin: 0 0 20px !important;
}

.scale-card-description {
	font-size: 1.1rem;
	color: var(--refersion-primary);
	line-height: 1.5;
	max-width: 850px;
}

.refersion-scale-card-action {
	flex-shrink: 0;
}

.scale-card-btn {
	background: #3026B0 !important;
	color: #fff !important;
	padding: 18px 40px;
	border-radius: 16px;
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
	white-space: nowrap;
}

.scale-card-btn:hover {
	background: var(--refersion-primary) !important;
	transform: translateY(-2px);
	color: #fff !important;
}

@media (max-width: 1024px) {
	.refersion-scale-card-inner {
		flex-direction: column;
		text-align: center;
		padding: 40px 30px;
		margin: auto 15px;
	}

	.scale-card-description {
		margin: 0 auto;
	}

	.scale-card-btn {
		width: 100%;
		text-align: center;
	}
}

/* -------------------------------- */
/* Refersion Pricing Comparison     */
/* -------------------------------- */
.refersion-pricing-comparison-module {
	width: 60%;
	margin: 60px auto;
	font-family: var(--refersion-font-family);
	padding: 0;
}

.refersion-pricing-table-header {
	display: flex;
	align-items: flex-end;
	padding: 30px;
	z-index: 100;
	border-bottom: 2px solid #F1F6EF;
}

.pricing-header-col-title {
	width: 30%;
	padding-right: 40px;
}

.pricing-header-col-title h2 {
	font-size: 48px;
	color: #1E1B4B;
	margin: 0;
	font-weight: 500;
}

.pricing-header-col-plans {
	width: 70%;
	display: flex;
	gap: 20px;
}

.plan-header-card {
	flex: 1;
	background: #E7ECE4;
	border-radius: 16px;
	padding: 25px 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.plan-header-card h4 {
	margin: 0 0 15px;
	font-size: 15px;
	font-weight: 700;
	color: #1E1B4B;
}

.refersion-btn-outline-blue {
	display: inline-block;
	padding: 4px 20px;
	border: 1.5px solid #3026B0;
	color: #3026B0;
	border-radius: 8px;
	font-weight: 600;
	text-decoration: none;
	font-size: 13px;
	transition: all 0.3s ease;
}

.refersion-btn-outline-blue:hover {
	background: #3026B0;
	color: #fff;
}

/* Category Section */
.pricing-comparison-category {
	margin-top: 15px;
}

.category-toggle {
	width: 100%;
	background: #E7ECE4;
	border: none;
	padding: 22px 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-radius: 12px;
	cursor: pointer;
	font-weight: 600;
	font-size: 20px;
	color: #1E1B4B;
	transition: background 0.3s ease;
	text-align: left;
}

.category-toggle:hover {
	background: #DFE6DB;
}

.toggle-icon {
	width: 20px;
	height: 20px;
	position: relative;
	transition: transform 0.3s ease;
}

.toggle-icon::before {
	content: '';
	position: absolute;
	top: 8px;
	left: 4px;
	width: 12px;
	height: 2px;
	background: #1E1B4B;
	transform: rotate(45deg);
}

.toggle-icon::after {
	content: '';
	position: absolute;
	top: 8px;
	left: 10px;
	width: 12px;
	height: 2px;
	background: #1E1B4B;
	transform: rotate(-45deg);
}

.pricing-comparison-category.active .toggle-icon {
	transform: rotate(180deg);
}

/* Row Content */
.category-rows {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-out;
}

.pricing-comparison-category.active .category-rows {
	max-height: 2000px;
	/* High enough for content */
	transition: max-height 0.5s ease-in;
}

.pricing-comparison-row {
	display: flex;
	padding: 18px 30px;
	border-bottom: 1px solid #F1F6EF;
	align-items: center;
}

.pricing-comparison-row:hover {
	background-color: rgba(241, 246, 239, 0.3);
}

.feature-label {
	width: 30%;
	font-size: 14px;
	color: #535263;
	font-weight: 400;
	padding-right: 40px;
}

.feature-values {
	width: 70%;
	display: flex;
	gap: 20px;
}

.plan-val {
	flex: 1;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Icons */
.status-icon {
	width: 24px;
	height: 24px;
	display: inline-block;
}

.status-icon::before {
	display: none !important;
}

.status-icon.icon-check {
	background: #2D2966;
	border-radius: 50%;
	position: relative;
}

.status-icon.icon-check::after {
	content: '';
	position: absolute;
	top: 7px;
	left: 10px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.status-icon.icon-minus {
	border: 1px solid #CBD5E0;
	border-radius: 50%;
	position: relative;
	background: transparent;
}

.status-icon.icon-minus::after {
	content: '';
	position: absolute;
	top: 11px;
	left: 7px;
	width: 10px;
	height: 1.5px;
	background: #CBD5E0;
}

.status-text {
	font-size: 14px;
	font-weight: 600;
	color: #1E1B4B;
}

@media (max-width: 767px) {
	.refersion-pricing-comparison-module {
		width: 100% !important;
		padding: 0 15px !important;
		margin: 40px 0 !important;
		box-sizing: border-box;
	}

	.refersion-pricing-table-header {
		flex-direction: column;
		align-items: center;
		padding: 30px 0;
		gap: 25px;
		border-bottom: none;
	}

	.pricing-header-col-plans {
		width: 100%;
		gap: 10px;
		justify-content: center;
	}

	.plan-header-card {
		flex: 1;
		min-width: 0;
		padding: 20px 5px;
		border-radius: 24px;
		background: #F1F6EF;
	}

	.plan-header-card h4 {
		font-size: 13px;
		margin-bottom: 12px;
	}

	.refersion-btn-outline-blue {
		padding: 6px 10px;
		font-size: 11px;
		white-space: nowrap;
	}

	.category-toggle {
		font-size: 18px;
		padding: 20px;
	}

	.pricing-comparison-row {
		flex-direction: column;
		padding: 30px 15px;
		gap: 20px;
		text-align: center;
	}

	.feature-label {
		width: 100%;
		padding-right: 0;
		font-size: 16px;
		color: #475569;
	}

	.feature-values {
		width: 100%;
		justify-content: center;
		gap: 10px;
	}

	.status-icon {
		width: 28px;
		height: 28px;
	}
}

/* --------------------------------------------------------- */
/* HIGH-FIDELITY MOBILE MENU (Refersion Style)              */
/* --------------------------------------------------------- */
@media (max-width: 991px) {

	/* 1. Base Overlay Background */
	#slide-out-widget-area {
		background-color: #F9F7F5 !important;
		/* Beige background from screenshot */
		padding: 0 !important;
		/* width: 100% !important;*/
		max-width: 100vw !important;
	}

	#slide-out-widget-area .inner-wrap {
		padding: 60px 0 0 0 !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: center !important;
		min-height: 100% !important;
		height: 100% !important;
	}

	/* 2. Inner "Card" Container */
	#slide-out-widget-area .inner {
		background-color: #FFFFFF !important;
		border-radius: 32px !important;
		margin: 0 10px 20px !important;
		padding: 40px 25px 30px !important;
		box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1) !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: 90vh !important;
		width: calc(100% - 20px) !important;
		position: relative !important;
		display: flex !important;
		flex-direction: column !important;
		overflow-y: auto !important;
	}

	/* 3. Navigation Container Spacing */
	#slide-out-widget-area .off-canvas-menu-container {
		padding-top: 40px !important;
	}

	/* 4. Menu Items as Rounded Buttons */
	#slide-out-widget-area .off-canvas-menu-container li {
		margin-bottom: 12px !important;
		width: 100% !important;
	}

	#slide-out-widget-area .off-canvas-menu-container li a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		height: 64px !important;
		border: 2px solid #221F4E !important;
		/* Refersion Dark Purple */
		border-radius: 16px !important;
		background: transparent !important;
		color: #221F4E !important;
		font-size: 18px !important;
		font-weight: 700 !important;
		padding: 0 !important;
		text-transform: none !important;
		letter-spacing: normal !important;
		transition: all 0.2s ease-in-out;
	}

	#slide-out-widget-area .off-canvas-menu-container li a:hover {
		background-color: rgba(34, 31, 78, 0.03) !important;
		transform: translateY(-1px);
	}

	/* 5. Highlight the "Get Started" Button (Using specific class) */
	#slide-out-widget-area .off-canvas-menu-container li.sm_nav_button a {
		background-color: #221F4E !important;
		color: #FFFFFF !important;
		border-color: #221F4E !important;
		margin-top: 5px !important;
	}

	#slide-out-widget-area .off-canvas-menu-container li.sm_nav_button a:hover {
		background-color: #312E65 !important;
		transform: translateY(-1px);
	}

	/* 6. Remove default Salient decorations */
	#slide-out-widget-area .off-canvas-menu-container li a:after {
		display: none !important;
	}

	/* 7. Close Button Customization */
	#slide-out-widget-area .slide_out_area_close {
		top: 15px !important;
		right: 15px !important;
		z-index: 100;
	}

	.slide-out-widget-area-toggle a .close-line {
		background-color: #221F4E !important;
	}

	/* 8. Fix for the background overlay (dimmer) */
	.ocm-backend-overlay {
		background-color: rgba(34, 31, 78, 0.4) !important;
	}

	/* 9. Logo Injection */
	#slide-out-widget-area .inner:before {
		content: "";
		display: block;
		width: 40px;
		height: 40px;
		background-image: url('https://refersionwp.wpengine.com/wp-content/uploads/2026/05/refersion-blue-icon-logo.svg');
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute !important;
		top: 15px !important;
		left: 20px !important;
		margin: 0 !important;
	}
}

/* ------------------------------------------------------------------------- */
/* Single CPT Article Template (Figma Modern Design)                         */
/* ------------------------------------------------------------------------- */

/* Page Background Setup - Blue to Beige to Blue Gradient */
body.single-article {
	background: var(--refersion-bg-blue) !important;
}

body.single-article #ajax-content-wrap {
	background: transparent !important;
}

/* Force container full width adjustments for single article */
.single-article-main-content {
	max-width: 1240px !important;
	width: 100% !important;
	padding: 0 20px !important;
	background: transparent !important;
}

/* Layout Grid - Centered Main container */
.single-article-layout-grid {
	position: relative;
	max-width: 1000px;
	margin: 60px auto;
	width: 100%;
}

/* Left Sidebar - Floating on the left */
.single-article-sidebar {
	position: absolute;
	right: calc(100% + 50px);
	top: 60px;
	width: 160px;
}

.single-article-sidebar-sticky {
	position: sticky;
	top: 120px;
	display: flex;
	flex-direction: column;
	gap: 35px;
}

.single-article-back-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #221F4E;
	font-weight: 700;
	font-size: 0.95rem;
	text-decoration: none !important;
	transition: opacity 0.3s ease;
}

.single-article-back-link:hover {
	opacity: 0.7;
}

.single-article-back-link .back-arrow-icon {
	font-size: 1.2rem;
}

.single-article-share-stack {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.single-article-share-stack .share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #FFFFFF;
	color: #221F4E;
	box-shadow: 0 4px 15px rgba(34, 31, 78, 0.08);
	transition: all 0.3s ease;
	cursor: pointer;
	border: none;
	padding: 0;
}

.single-article-share-stack .share-btn:hover {
	background: var(--refersion-secondary);
	color: #FFFFFF !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(144, 122, 255, 0.25);
}

.single-article-share-stack .share-btn svg {
	fill: currentColor;
	display: block;
}

.single-article-share-stack .share-btn.copy-link-btn svg {
	fill: none;
	stroke: currentColor;
}

/* Main Article Content Container Box */
.single-article-main {
	width: 100%;
	max-width: 1000px;
}

.single-article-card-box {
	border-radius: 32px;
	padding: 60px 80px;
}

.single-article-meta-info {
	margin-bottom: 40px;
}

.single-article-modified-date {
	font-size: 0.85rem;
	color: #5F738C;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	display: block;
	margin-bottom: 20px;
	font-weight: 700;
}

.single-article-main-title {
	font-size: 3rem;
	line-height: 1.15;
	color: #221F4E;
	font-weight: 700;
	margin-bottom: 25px;
	letter-spacing: -0.02em;
}

.single-article-metadata-row {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-top: 30px;
	border-top: 1px solid #E5EEF6;
	padding-top: 25px;
}

.meta-item {
	display: flex;
	align-items: center;
}

.category-item {
	border-left: 3px solid #907AFF;
	padding-left: 15px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.meta-label {
	font-size: 0.85rem;
	color: #5F738C;
	font-weight: 500;
	margin-bottom: 2px;
	line-height: 1.2;
}

.meta-value {
	font-size: 1.1rem;
	color: #221F4E;
	font-weight: 700;
	line-height: 1.2;
}

.meta-separator {
	width: 1px;
	height: 35px;
	background-color: #E5EEF6;
}

.author-item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.author-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.author-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.author-info .meta-value {
	text-decoration: underline;
	color: #221F4E;
}

/* Image collage / banner */
.single-article-hero-banner {
	margin: 0 -80px 45px -80px;
}

.single-article-hero-banner img {
	width: 100%;
	height: auto;
	display: block;
}

/* Article Body typography overrides */
.single-article-body-content {
	font-size: 1.15rem;
	line-height: 1.75;
	color: #221F4E;
}

.single-article-body-content p {
	margin-bottom: 25px;
}

.single-article-body-content h2,
.single-article-body-content h3 {
	color: #221F4E;
	font-weight: 700;
	margin: 45px 0 20px;
}

.single-article-body-content h2 {
	font-size: 2rem;
}

.single-article-body-content h3 {
	font-size: 1.5rem;
}

/* Related section styling */
.single-article-related-section {
	padding: 80px 0;
	margin: 0;
	background-color: var(--refersion-bg-blue) !important;
}

.related-articles-heading {
	font-size: 2.2rem;
	color: #221F4E;
	font-weight: 700;
	margin-bottom: 50px;
	text-align: center;
}

.related-articles-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Bottom CTA section wrap */
.single-article-bottom-cta-wrap {
	margin: 0;
}

/* Responsive adjustments */
@media (max-width: 1350px) {
	.single-article-layout-grid {
		display: flex;
		flex-direction: column-reverse;
		gap: 40px;
		max-width: 900px;
		padding: 0 20px;
	}

	.single-article-sidebar {
		position: static;
		width: 100%;
	}

	.single-article-sidebar-sticky {
		position: static;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}

	.single-article-share-stack {
		flex-direction: row;
	}

	.single-article-card-box {
		padding: 40px 30px;
	}

	.single-article-hero-banner {
		margin: 0 -30px 30px -30px;
	}

	.single-article-main-title {
		font-size: 2.2rem;
	}

	.related-articles-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.related-articles-grid {
		grid-template-columns: 1fr;
	}

	.single-article-main-title {
		font-size: 1.8rem;
	}

	.single-article-sidebar-sticky {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
}

/* -------------------------------- */
/* Refersion Contact Form 7 Custom  */
/* -------------------------------- */
.refersion-cf7-form {
	max-width: 600px;
	margin: 0 auto;
	padding: 50px;
	background: #FFFFFF;
	border-radius: 32px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
	font-family: var(--refersion-font-family);
}

.refersion-cf7-form .form-row {
	margin-bottom: 24px;
}

.refersion-cf7-form .form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.refersion-cf7-form label {
	font-size: 15px;
	font-weight: 700;
	color: #1E1B4B;
}

.refersion-cf7-form label .required {
	color: #E02424;
	margin-left: 2px;
}

.refersion-cf7-form input[type="text"],
.refersion-cf7-form input[type="email"],
.refersion-cf7-form input[type="url"],
.refersion-cf7-form input[type="tel"],
.refersion-cf7-form select,
.refersion-cf7-form textarea {
	width: 100% !important;
	background: #FFFFFF !important;
	border: 1px solid #D1D5DB !important;
	border-radius: 12px !important;
	padding: 14px 20px !important;
	font-size: 16px !important;
	color: #1E1B4B !important;
	box-shadow: none !important;
	transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
	box-sizing: border-box !important;
	height: auto !important;
}

.refersion-cf7-form input[type="text"]:focus,
.refersion-cf7-form input[type="email"]:focus,
.refersion-cf7-form input[type="url"]:focus,
.refersion-cf7-form input[type="tel"]:focus,
.refersion-cf7-form select:focus,
.refersion-cf7-form textarea:focus {
	border-color: #3026B0 !important;
	box-shadow: 0 0 0 3px rgba(48, 38, 176, 0.1) !important;
	outline: none !important;
}

.refersion-cf7-form select {
	height: 52px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml;utf8,<svg fill='%231E1B4B' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 15px center !important;
	background-size: 20px !important;
	padding-right: 40px !important;
}

.refersion-cf7-form textarea {
	min-height: 120px !important;
	resize: vertical !important;
}

.refersion-cf7-form .form-submit-row {
	margin-top: 30px;
	margin-bottom: 20px;
}

.refersion-cf7-form .refersion-cf7-submit {
	width: 100% !important;
	background: #3026B0 !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 12px !important;
	padding: 16px !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background 0.3s ease !important;
	text-align: center !important;
	display: block !important;
	box-shadow: none !important;
}

.refersion-cf7-form .refersion-cf7-submit:hover {
	background: #20188A !important;
}

.refersion-cf7-form .form-disclaimer {
	font-size: 11px;
	line-height: 1.6;
	color: #5F738C;
	text-align: center;
	margin-top: 15px;
}

@media (max-width: 767px) {
	.refersion-cf7-form {
		padding: 30px 20px;
		border-radius: 20px;
	}
}

/* -------------------------------- */
/* Refersion Action Cards Module    */
/* -------------------------------- */
.refersion-action-cards-module {
	padding: 80px 5%;
}

.refersion-action-cards-container {
	max-width: 800px;
	margin: 0 auto;
}

.refersion-action-cards-header {
	margin-bottom: 50px;
}

.refersion-action-cards-subtext {
	max-width: 600px;
	margin: 15px auto 0;
	color: #221F4E;
	font-size: 1.1rem;
	line-height: 1.6;
}

.refersion-action-cards-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.refersion-action-card {
	background: #FFFFFF;
	border-radius: 20px;
	padding: 25px 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.refersion-action-card:hover {
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
	transform: translateY(-2px);
}

.refersion-action-card-left {
	display: flex;
	align-items: center;
	gap: 30px;
}

.refersion-action-card-icon img {
	width: 60px;
	height: auto;
	display: block;
}

.refersion-action-card-title {
	font-size: 22px;
	font-weight: 500;
	margin: 0;
	color: #221F4E;
}

.refersion-action-card-btn {
	padding: 12px 25px;
	font-size: 15px;
}

@media (max-width: 767px) {
	.refersion-action-card {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding: 25px;
	}

	.refersion-action-card-btn {
		width: 100%;
		text-align: center;
	}
}

/* -------------------------------- */
/* Single Case Study Specifics      */
/* -------------------------------- */

.single-cs-intro-section {
	display: flex;
	gap: 40px;
	margin-bottom: 50px;
	align-items: flex-start;
}

.single-cs-logo-col {
	flex: 0 0 160px;
}

.single-cs-logo-img {
	max-width: 100%;
	height: auto;
	display: block;
}

.single-cs-overview-col {
	flex: 1;
	font-size: 1.1rem;
	line-height: 1.6;
	color: #334155;
}

.single-cs-overview-col p:last-child {
	margin-bottom: 0;
}

.single-cs-metrics-banner {
	background: #F4F7F2;
	border-radius: 20px;
	padding: 40px;
	margin-bottom: 60px;
}

@media (max-width: 767px) {
	.single-cs-intro-section {
		flex-direction: column;
		gap: 20px;
	}
	.single-cs-logo-col {
		flex: 0 0 auto;
	}
	.single-cs-metrics-banner {
		padding: 30px 20px;
	}
}

/* -------------------------------- */
/* Z-Layout Case Study Card         */
/* -------------------------------- */

.refersion-z-case-study-card {
	display: block !important;
	position: relative !important;
	background-color: #192A3D !important;
	border-radius: 12px !important;
	padding: 30px !important;
	margin-top: 30px !important;
	text-decoration: none !important;
	color: #FFFFFF !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	width: 100% !important;
	box-sizing: border-box !important;
}

.refersion-z-case-study-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.refersion-z-case-study-card .z-cs-logo {
	max-height: 35px !important;
	max-width: 140px !important;
	width: auto !important;
	display: block !important;
	margin-bottom: 20px !important;
	object-fit: contain !important;
}

.refersion-z-case-study-card .z-cs-arrow {
	position: absolute !important;
	top: 24px !important;
	right: 24px !important;
	transition: transform 0.3s ease;
}

.refersion-z-case-study-card:hover .z-cs-arrow {
	transform: translate(3px, -3px);
}

.refersion-z-case-study-card .z-cs-text {
	font-size: 1.15rem !important;
	line-height: 1.6 !important;
	color: #E2E8F0 !important;
	margin: 0 !important;
}

.refersion-z-case-study-card .z-cs-text p {
	margin: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
}

.refersion-z-case-study-card .z-cs-text b,
.refersion-z-case-study-card .z-cs-text strong {
	color: #4ADE80 !important;
	font-weight: 700 !important;
}

/* Case Study Card Light Variant */
.refersion-z-case-study-card.z-cs-bg-light {
	background-color: #F4F7F2 !important;
	color: #221F4E !important;
}
.refersion-z-case-study-card.z-cs-bg-light .z-cs-text {
	color: #334155 !important;
}
.refersion-z-case-study-card.z-cs-bg-light .z-cs-text b,
.refersion-z-case-study-card.z-cs-bg-light .z-cs-text strong {
	color: #1D7B43 !important;
}

/* Case Study Card White Variant */
.refersion-z-case-study-card.z-cs-bg-white {
	background-color: #FFFFFF !important;
	color: #221F4E !important;
	box-shadow: 0 4px 20px rgba(0,0,0,0.06);
	border: 1px solid #E5EEF6 !important;
}
.refersion-z-case-study-card.z-cs-bg-white .z-cs-text {
	color: #334155 !important;
}
.refersion-z-case-study-card.z-cs-bg-white .z-cs-text b,
.refersion-z-case-study-card.z-cs-bg-white .z-cs-text strong {
	color: #3A86FF !important;
}

/* -------------------------------- */
/* WPBakery Full Width Rows Inside Boxed Card */
/* -------------------------------- */

.single-article-card-box {
	overflow: hidden; /* Ensure full-width backgrounds don't bleed over the rounded corners */
}

/* Automatically break out any row that has a refersion background class */
.single-article-card-box .wpb_row.full_width_background,
.single-article-card-box .vc_row[data-vc-full-width="true"],
.single-article-card-box .refersion-bg-base,
.single-article-card-box .refersion-bg-blue,
.single-article-card-box .refersion-bg-warm,
.single-article-card-box .refersion-transition-blue,
.single-article-card-box .refersion-transition-warm,
.single-article-card-box .refersion-transition-blue-beige-blue,
.single-article-card-box .refersion-blend-warm-base,
.single-article-card-box .refersion-blend-base-warm,
.single-article-card-box .refersion-blend-base-blue,
.single-article-card-box .refersion-blend-blue-base {
	width: auto !important;
	left: auto !important;
	right: auto !important;
	margin-left: -80px !important;
	margin-right: -80px !important;
	padding-left: 80px !important;
	padding-right: 80px !important;
	box-sizing: border-box !important;
}

@media (max-width: 1350px) {
	.single-article-card-box .wpb_row.full_width_background,
	.single-article-card-box .vc_row[data-vc-full-width="true"],
	.single-article-card-box .refersion-bg-base,
	.single-article-card-box .refersion-bg-blue,
	.single-article-card-box .refersion-bg-warm,
	.single-article-card-box .refersion-transition-blue,
	.single-article-card-box .refersion-transition-warm,
	.single-article-card-box .refersion-transition-blue-beige-blue,
	.single-article-card-box .refersion-blend-warm-base,
	.single-article-card-box .refersion-blend-base-warm,
	.single-article-card-box .refersion-blend-base-blue,
	.single-article-card-box .refersion-blend-blue-base {
		margin-left: -30px !important;
		margin-right: -30px !important;
		padding-left: 30px !important;
		padding-right: 30px !important;
	}
}

/* -------------------------------- */
/* Salient Full Width Background Integration */
/* -------------------------------- */

/* -------------------------------- */
/* Universal Refersion Background Breakout */
/* -------------------------------- */

/* -------------------------------- */
/* Universal Refersion Background Breakout (Salient Row-BG Integration) */
/* -------------------------------- */

/* 1. Safely apply custom colors to Salient's background layer using descendant selectors */
.wpb_row.refersion-bg-base .row-bg { background-color: var(--refersion-bg-base) !important; }
.wpb_row.refersion-bg-blue .row-bg { background-color: var(--refersion-bg-blue) !important; }
.wpb_row.refersion-bg-warm .row-bg { background-color: var(--refersion-bg-warm) !important; }
.wpb_row.refersion-transition-blue .row-bg { background: linear-gradient(180deg, var(--refersion-bg-base) 0%, var(--refersion-bg-blue) 15%, var(--refersion-bg-blue) 85%, var(--refersion-bg-base) 100%) !important; }
.wpb_row.refersion-transition-warm .row-bg { background: linear-gradient(180deg, var(--refersion-bg-base) 0%, var(--refersion-bg-warm) 15%, var(--refersion-bg-warm) 85%, var(--refersion-bg-base) 100%) !important; }
.wpb_row.refersion-transition-blue-beige-blue .row-bg { background: linear-gradient(180deg, var(--refersion-bg-blue) 0%, var(--refersion-bg-base) 15%, var(--refersion-bg-base) 85%, var(--refersion-bg-blue) 100%) !important; }
.wpb_row.refersion-blend-warm-base .row-bg { background: linear-gradient(180deg, var(--refersion-bg-warm) 0%, var(--refersion-bg-base) 100%) !important; }
.wpb_row.refersion-blend-base-warm .row-bg { background: linear-gradient(180deg, var(--refersion-bg-base) 0%, var(--refersion-bg-warm) 100%) !important; }
.wpb_row.refersion-blend-base-blue .row-bg { background: linear-gradient(180deg, var(--refersion-bg-base) 0%, var(--refersion-bg-blue) 100%) !important; }
.wpb_row.refersion-blend-blue-base .row-bg { background: linear-gradient(180deg, var(--refersion-bg-blue) 0%, var(--refersion-bg-base) 100%) !important; }

/* 2. Over-stretch the background wrapper massively so it physically cannot fail to cover the screen */
.wpb_row[class*="refersion-bg-"] .row-bg-wrap,
.wpb_row[class*="refersion-transition-"] .row-bg-wrap,
.wpb_row[class*="refersion-blend-"] .row-bg-wrap {
    position: absolute !important;
    width: 200vw !important;
    left: -50vw !important;
    transform: none !important;
    top: 0 !important;
    height: 100% !important;
    max-width: none !important;
}

/* 3. Make sure the inner background strictly fills the new 200vw wrapper */
.wpb_row[class*="refersion-bg-"] .row-bg,
.wpb_row[class*="refersion-transition-"] .row-bg,
.wpb_row[class*="refersion-blend-"] .row-bg {
    width: 100% !important;
    left: 0 !important;
    height: 100% !important;
}

/* 4. Remove background color from the row element itself so it doesn't double-render or block the row-bg */
.wpb_row[class*="refersion-bg-"],
.wpb_row[class*="refersion-transition-"],
.wpb_row[class*="refersion-blend-"] {
    background: transparent !important;
}

/* Prevent horizontal scrollbars caused by 100vw on Windows */
html, body { overflow-x: hidden; }
