/**
 * A2Z Woo Solutions
 *
 * A2Z Bulk Price Changer Free Product Page
 *
 * @package A2Z_Woo_Solutions
 */


/* =========================================================
   GLOBAL
   ========================================================= */

.product-page {
	overflow: hidden;

	background: var(--bp-background);
	color: var(--bp-text);
}

.product-page .container {
	width: min(1200px, calc(100% - 48px));
	margin: 0 auto;
}

.product-page * {
	box-sizing: border-box;
}


/* =========================================================
   SHARED TYPOGRAPHY
   ========================================================= */

.product-page .section-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	margin-bottom: 18px;

	color: var(--bp-blue);

	font-size: 12px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.product-page .section-eyebrow::before {
	content: "";

	width: 26px;
	height: 2px;

	background: linear-gradient(
		90deg,
		var(--bp-blue),
		var(--bp-pink)
	);

	border-radius: 999px;
}

.product-page .section-heading {
	max-width: 720px;
}

.product-page .section-heading-center {
	margin: 0 auto;
	text-align: center;
}

.product-page .section-heading h2,
.product-features-content h2,
.support-main h2,
.requirements-content h2,
.product-cta-content h2 {
	margin: 0;

	color: var(--bp-text);

	font-size: clamp(34px, 4vw, 52px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -1.8px;
}

.product-page h2 span {
	display: block;

	background: linear-gradient(
		100deg,
		var(--bp-blue),
		var(--bp-pink)
	);

	-webkit-background-clip: text;
	background-clip: text;

	color: transparent;
}

.product-page .section-heading > p {
	margin: 20px auto 0;

	color: var(--bp-text-muted);

	font-size: 15px;
	line-height: 1.85;
}


/* =========================================================
   HERO
   ========================================================= */

.product-hero {
	position: relative;
	overflow: hidden;

	padding: 110px 0 120px;

	background:
		radial-gradient(
			circle at 88% 20%,
			var(--bp-pink-pale) 0,
			transparent 30%
		),
		radial-gradient(
			circle at 8% 80%,
			var(--bp-blue-soft) 0,
			transparent 34%
		),
		var(--bp-white);
}

.product-hero::before {
	content: "";

	position: absolute;
	top: -180px;
	right: -180px;

	width: 450px;
	height: 450px;

	border: 1px solid var(--bp-border-blue);
	border-radius: 50%;

	opacity: 0.45;
}

.product-hero-grid {
	position: relative;
	z-index: 2;

	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 80px;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.product-version-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	margin: 0 0 18px;
	padding: 7px 12px;

	background: var(--bp-blue-soft);

	border: 1px solid var(--bp-border-blue);
	border-radius: 999px;

	color: var(--bp-blue);

	font-size: 12px;
	font-weight: 700;
}

.product-version-badge__dot {
	width: 7px;
	height: 7px;

	background: var(--bp-pink);

	border-radius: 50%;

	box-shadow: 0 0 0 4px var(--bp-pink-pale);
}

.product-hero-content h1 {
	max-width: 680px;
	margin: 0;

	font-size: clamp(45px, 5.5vw, 70px);
	font-weight: 850;
	line-height: 1.04;
	letter-spacing: -2.8px;
}

.product-hero-content h1 span {
	display: block;

	background: linear-gradient(
		100deg,
		var(--bp-blue),
		var(--bp-pink)
	);

	-webkit-background-clip: text;
	background-clip: text;

	color: transparent;
}

.product-hero-description {
	max-width: 620px;

	margin: 26px 0 0;

	color: var(--bp-text-muted);

	font-size: 16px;
	line-height: 1.85;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.product-hero-actions,
.product-cta-actions {
	display: flex;
	align-items: center;
	gap: 14px;

	margin-top: 32px;
}

.product-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	min-height: 50px;
	padding: 0 24px;

	border: 1px solid transparent;
	border-radius: 11px;

	font-size: 14px;
	font-weight: 700;

	text-decoration: none;

	cursor: pointer;

	transition:
		transform 220ms ease,
		box-shadow 220ms ease,
		background 220ms ease,
		border-color 220ms ease;
}

.product-button-primary {
	background: var(--bp-blue);

	color: var(--bp-white);

	box-shadow:
		0 12px 30px rgba(33, 25, 201, 0.2);
}

.product-button-primary:hover {
	background: var(--bp-blue-light);

	color: var(--bp-white);

	transform: translateY(-3px);

	box-shadow:
		0 18px 38px rgba(33, 25, 201, 0.28);
}

.product-button-secondary {
	background: var(--bp-white);

	border-color: var(--bp-border-blue);

	color: var(--bp-blue);
}

.product-button-secondary:hover {
	background: var(--bp-blue-soft);

	color: var(--bp-blue);

	transform: translateY(-3px);
}


/* =========================================================
   HERO META
   ========================================================= */

.product-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;

	margin-top: 42px;
}

.product-meta-item {
	position: relative;
}

.product-meta-item + .product-meta-item::before {
	content: "";

	position: absolute;
	left: -14px;
	top: 5px;

	width: 1px;
	height: 36px;

	background: var(--bp-border);
}

.product-meta-item strong,
.product-meta-item span {
	display: block;
}

.product-meta-item strong {
	margin-bottom: 5px;

	color: var(--bp-text);

	font-size: 13px;
	font-weight: 750;
}

.product-meta-item span {
	color: var(--bp-text-light);

	font-size: 11px;
}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.product-hero-visual {
	position: relative;

	min-height: 490px;

	display: flex;
	align-items: center;
	justify-content: center;
}

.product-dashboard {
	position: relative;
	z-index: 2;

	width: 100%;
	max-width: 520px;

	overflow: hidden;

	background: rgba(255, 255, 255, 0.92);

	border: 1px solid var(--bp-border);
	border-radius: 20px;

	box-shadow: var(--bp-shadow);

	backdrop-filter: blur(14px);

	animation: product-dashboard-float 7s ease-in-out infinite;
}


/* =========================================================
   DASHBOARD TOP
   ========================================================= */

.product-dashboard-top {
	display: flex;
	align-items: center;
	justify-content: space-between;

	padding: 17px 22px;

	border-bottom: 1px solid var(--bp-border);
}

.product-dashboard-dots {
	display: flex;
	gap: 6px;
}

.product-dashboard-dots span {
	width: 7px;
	height: 7px;

	background: var(--bp-border-blue);

	border-radius: 50%;
}

.product-dashboard-dots span:nth-child(2) {
	background: var(--bp-pink-pale);
}

.product-dashboard-title {
	color: var(--bp-text-muted);

	font-size: 11px;
	font-weight: 700;
}


/* =========================================================
   DASHBOARD BODY
   ========================================================= */

.product-dashboard-body {
	display: grid;
	grid-template-columns: 145px 1fr;

	min-height: 360px;
}


/* =========================================================
   DASHBOARD SIDEBAR
   ========================================================= */

.dashboard-sidebar {
	padding: 22px 15px;

	background: var(--bp-background-soft);

	border-right: 1px solid var(--bp-border);
}

.sidebar-label {
	display: block;

	margin-bottom: 15px;

	color: var(--bp-text-light);

	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.dashboard-filter {
	margin-bottom: 10px;
	padding: 10px;

	background: var(--bp-white);

	border: 1px solid var(--bp-border);
	border-radius: 8px;
}

.dashboard-filter span,
.dashboard-filter strong {
	display: block;
}

.dashboard-filter span {
	margin-bottom: 4px;

	color: var(--bp-text-light);

	font-size: 9px;
}

.dashboard-filter strong {
	color: var(--bp-text);

	font-size: 10px;
}


/* =========================================================
   DASHBOARD PRODUCTS
   ========================================================= */

.dashboard-products {
	padding: 22px;
}

.dashboard-products-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;

	margin-bottom: 16px;
}

.dashboard-products-heading strong {
	color: var(--bp-text);

	font-size: 12px;
}

.dashboard-products-heading span {
	color: var(--bp-blue);

	font-size: 9px;
	font-weight: 700;
}

.dashboard-product-row {
	display: grid;
	grid-template-columns: 20px 1fr auto;
	align-items: center;
	gap: 9px;

	padding: 10px;

	margin-bottom: 8px;

	border: 1px solid transparent;
	border-radius: 9px;

	transition:
		background 200ms ease,
		border-color 200ms ease;
}

.dashboard-product-row.is-selected {
	background: var(--bp-blue-soft);

	border-color: var(--bp-border-blue);
}

.dashboard-checkbox {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 16px;
	height: 16px;

	border: 1px solid var(--bp-border-blue);
	border-radius: 4px;

	color: var(--bp-white);

	font-size: 9px;
	font-weight: 800;
}

.is-selected .dashboard-checkbox {
	background: var(--bp-blue);
}

.dashboard-product-info strong,
.dashboard-product-info span {
	display: block;
}

.dashboard-product-info strong {
	margin-bottom: 2px;

	color: var(--bp-text);

	font-size: 10px;
}

.dashboard-product-info span {
	color: var(--bp-text-light);

	font-size: 8px;
}

.dashboard-price {
	color: var(--bp-text);

	font-size: 10px;
}


/* =========================================================
   DASHBOARD ACTION
   ========================================================= */

.dashboard-action-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;

	margin-top: 16px;
	padding: 12px;

	background:
		linear-gradient(
			135deg,
			var(--bp-blue-soft),
			var(--bp-pink-soft)
		);

	border: 1px solid var(--bp-border-blue);
	border-radius: 10px;
}

.dashboard-action-panel span,
.dashboard-action-panel strong {
	display: block;
}

.dashboard-action-panel > div > span {
	margin-bottom: 3px;

	color: var(--bp-text-muted);

	font-size: 8px;
}

.dashboard-action-panel strong {
	color: var(--bp-blue);

	font-size: 10px;
}

.dashboard-action-check {
	display: flex !important;
	align-items: center;
	justify-content: center;

	width: 25px;
	height: 25px;

	background: var(--bp-blue);

	border-radius: 50%;

	color: var(--bp-white) !important;

	font-size: 10px !important;
}


/* =========================================================
   FLOATING STATS
   ========================================================= */

.product-floating-stat {
	position: absolute;
	z-index: 3;

	display: flex;
	align-items: center;
	gap: 10px;

	padding: 12px 15px;

	background: var(--bp-white);

	border: 1px solid var(--bp-border);
	border-radius: 12px;

	box-shadow: var(--bp-shadow);

	animation: product-floating 5s ease-in-out infinite;
}

.product-floating-stat > span {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 30px;
	height: 30px;

	border-radius: 8px;

	font-size: 18px;
	font-weight: 700;
}

.product-floating-stat strong,
.product-floating-stat small {
	display: block;
}

.product-floating-stat strong {
	margin-bottom: 2px;

	color: var(--bp-text);

	font-size: 11px;
}

.product-floating-stat small {
	color: var(--bp-text-light);

	font-size: 9px;
}

.product-floating-stat-blue {
	top: 35px;
	left: -10px;
}

.product-floating-stat-blue > span {
	background: var(--bp-blue-pale);

	color: var(--bp-blue);
}

.product-floating-stat-pink {
	right: -10px;
	bottom: 45px;

	animation-delay: -2s;
}

.product-floating-stat-pink > span {
	background: var(--bp-pink-pale);

	color: var(--bp-pink);
}


/* =========================================================
   PRODUCT OVERVIEW
   ========================================================= */

.product-overview {
	padding: 115px 0;

	background: var(--bp-background);
}

.product-overview-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;

	margin-top: 55px;
}

.overview-card {
	padding: 34px;

	background: var(--bp-white);

	border: 1px solid var(--bp-border);
	border-radius: 18px;

	box-shadow:
		0 10px 35px rgba(33, 25, 201, 0.04);

	transition:
		transform 250ms ease,
		box-shadow 250ms ease,
		border-color 250ms ease;
}

.overview-card:hover {
	transform: translateY(-8px);

	border-color: var(--bp-border-blue);

	box-shadow: var(--bp-shadow);
}

.overview-card-featured {
	background:
		linear-gradient(
			145deg,
			var(--bp-blue-soft),
			var(--bp-white)
		);
}

.overview-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;

	margin-bottom: 24px;

	background: var(--bp-blue-pale);

	border-radius: 12px;

	color: var(--bp-blue);

	font-size: 12px;
	font-weight: 800;
}

.overview-card:nth-child(3) .overview-card-icon {
	background: var(--bp-pink-pale);

	color: var(--bp-pink);
}

.overview-card h3 {
	margin: 0 0 12px;

	font-size: 19px;
	font-weight: 750;
}

.overview-card p {
	margin: 0;

	color: var(--bp-text-muted);

	font-size: 14px;
	line-height: 1.8;
}


/* =========================================================
   FEATURES
   ========================================================= */

.product-features {
	padding: 120px 0;

	background: var(--bp-white);
}

.product-features-grid {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	align-items: start;
	gap: 100px;
}

.product-features-content {
	position: sticky;
	top: 100px;
}

.product-features-content > p,
.support-main > p,
.requirements-content > p {
	margin: 22px 0 0;

	color: var(--bp-text-muted);

	font-size: 15px;
	line-height: 1.85;
}

.product-feature-highlight {
	display: flex;
	align-items: center;
	gap: 14px;

	margin-top: 30px;
	padding: 18px;

	background: var(--bp-blue-soft);

	border: 1px solid var(--bp-border-blue);
	border-radius: 13px;
}

.feature-highlight-icon {
	display: flex;
	align-items: center;
	justify-content: center;

	flex-shrink: 0;

	width: 34px;
	height: 34px;

	background: var(--bp-blue);

	border-radius: 50%;

	color: var(--bp-white);

	font-size: 12px;
	font-weight: 800;
}

.product-feature-highlight strong,
.product-feature-highlight span {
	display: block;
}

.product-feature-highlight strong {
	margin-bottom: 3px;

	font-size: 13px;
}

.product-feature-highlight span {
	color: var(--bp-text-muted);

	font-size: 11px;
}


/* =========================================================
   FEATURE LIST
   ========================================================= */

.product-feature-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.product-feature-item {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 20px;

	padding: 25px;

	background: var(--bp-background);

	border: 1px solid var(--bp-border);
	border-radius: 14px;

	transition:
		transform 220ms ease,
		background 220ms ease,
		border-color 220ms ease,
		box-shadow 220ms ease;
}

.product-feature-item:hover {
	transform: translateX(7px);

	background: var(--bp-white);

	border-color: var(--bp-border-blue);

	box-shadow: var(--bp-shadow);
}

.product-feature-number {
	color: var(--bp-blue);

	font-size: 12px;
	font-weight: 850;
}

.product-feature-item h3 {
	margin: 0 0 8px;

	font-size: 16px;
}

.product-feature-item p {
	margin: 0;

	color: var(--bp-text-muted);

	font-size: 13px;
	line-height: 1.75;
}


/* =========================================================
   WORKFLOW
   ========================================================= */

.product-workflow {
	padding: 120px 0;

	background:
		linear-gradient(
			180deg,
			var(--bp-background-blue),
			var(--bp-background)
		);
}

.workflow-steps {
	display: flex;
	align-items: flex-start;
	justify-content: center;

	margin-top: 65px;
}

.workflow-step {
	position: relative;

	width: 190px;

	text-align: center;
}

.workflow-step-number {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 54px;
	height: 54px;

	margin: 0 auto 20px;

	background: var(--bp-white);

	border: 1px solid var(--bp-border-blue);
	border-radius: 50%;

	box-shadow:
		0 10px 30px rgba(33, 25, 201, 0.08);

	color: var(--bp-blue);

	font-size: 15px;
	font-weight: 850;

	transition:
		transform 220ms ease,
		background 220ms ease,
		color 220ms ease;
}

.workflow-step:hover .workflow-step-number {
	background: var(--bp-blue);

	color: var(--bp-white);

	transform: scale(1.08);
}

.workflow-step h3 {
	margin: 0 0 10px;

	font-size: 15px;
}

.workflow-step p {
	margin: 0;

	color: var(--bp-text-muted);

	font-size: 12px;
	line-height: 1.7;
}

.workflow-connector {
	flex: 1;

	height: 1px;

	margin: 27px -5px 0;

	background:
		linear-gradient(
			90deg,
			var(--bp-border-blue),
			var(--bp-border-pink)
		);
}


/* =========================================================
   PRODUCT SUPPORT
   ========================================================= */

.product-support {
	padding: 120px 0;

	background: var(--bp-white);
}

.product-support-grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	align-items: center;
	gap: 90px;
}

.support-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}

.support-card {
	padding: 30px;

	border-radius: 18px;

	transition:
		transform 250ms ease,
		box-shadow 250ms ease;
}

.support-card:hover {
	transform: translateY(-7px);

	box-shadow: var(--bp-shadow);
}

.support-card-yes {
	background: var(--bp-blue-soft);

	border: 1px solid var(--bp-border-blue);
}

.support-card-no {
	background: var(--bp-pink-soft);

	border: 1px solid var(--bp-border-pink);
}

.support-card-status {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	margin-bottom: 20px;

	border-radius: 50%;

	font-size: 18px;
	font-weight: 800;
}

.support-card-yes .support-card-status {
	background: var(--bp-blue);

	color: var(--bp-white);
}

.support-card-no .support-card-status {
	background: var(--bp-pink);

	color: var(--bp-white);
}

.support-card h3 {
	margin: 0 0 8px;

	color: var(--bp-text-muted);

	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.support-card strong {
	display: block;

	margin-bottom: 12px;

	font-size: 17px;
}

.support-card p {
	margin: 0;

	color: var(--bp-text-muted);

	font-size: 13px;
	line-height: 1.75;
}


/* =========================================================
   PRODUCT DETAILS
   ========================================================= */

.product-details {
	padding: 120px 0;

	background: var(--bp-background);
}

.details-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px;

	margin-top: 50px;
}

.details-column {
	padding: 35px;

	border-radius: 18px;
}

.details-column-positive {
	background: var(--bp-white);

	border: 1px solid var(--bp-border-blue);
}

.details-column-limited {
	background: var(--bp-white);

	border: 1px solid var(--bp-border-pink);
}

.details-column h3 {
	margin: 0 0 25px;

	font-size: 19px;
}

.details-column ul {
	margin: 0;
	padding: 0;

	list-style: none;
}

.details-column li {
	position: relative;

	padding: 13px 0 13px 30px;

	border-bottom: 1px solid var(--bp-border);

	color: var(--bp-text-muted);

	font-size: 14px;
	line-height: 1.6;
}

.details-column li:last-child {
	border-bottom: 0;
}

.details-column-positive li::before {
	content: "✓";

	position: absolute;
	left: 0;

	color: var(--bp-blue);

	font-weight: 850;
}

.details-column-limited li::before {
	content: "×";

	position: absolute;
	left: 0;

	color: var(--bp-pink);

	font-size: 18px;
	font-weight: 700;
}


/* =========================================================
   REQUIREMENTS
   ========================================================= */

.product-requirements {
	padding: 100px 0;

	background: var(--bp-white);
}

.requirements-card {
	position: relative;
	overflow: hidden;

	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	align-items: center;
	gap: 70px;

	padding: 60px;

	background:
		linear-gradient(
			135deg,
			var(--bp-blue-soft),
			var(--bp-pink-soft)
		);

	border: 1px solid var(--bp-border-blue);
	border-radius: 24px;
}

.requirements-card::after {
	content: "";

	position: absolute;
	right: -120px;
	bottom: -180px;

	width: 350px;
	height: 350px;

	background: var(--bp-white);

	border-radius: 50%;

	opacity: 0.4;
}

.requirements-content,
.requirements-list {
	position: relative;
	z-index: 2;
}

.requirements-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.requirement-item {
	display: flex;
	align-items: center;
	gap: 16px;

	padding: 16px;

	background: rgba(255, 255, 255, 0.75);

	border: 1px solid var(--bp-border);
	border-radius: 12px;
}

.requirement-item > span {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	background: var(--bp-white);

	border-radius: 10px;

	color: var(--bp-blue);

	font-size: 11px;
	font-weight: 850;
}

.requirement-item strong,
.requirement-item small {
	display: block;
}

.requirement-item strong {
	margin-bottom: 3px;

	font-size: 13px;
}

.requirement-item small {
	color: var(--bp-text-muted);

	font-size: 11px;
}


/* =========================================================
   FAQ
   ========================================================= */

.product-faq {
	padding: 120px 0;

	background: var(--bp-background);
}

.faq-list {
	width: min(800px, 100%);

	margin: 55px auto 0;
}

.faq-item {
	margin-bottom: 12px;

	background: var(--bp-white);

	border: 1px solid var(--bp-border);
	border-radius: 13px;

	transition:
		border-color 200ms ease,
		box-shadow 200ms ease;
}

.faq-item:hover,
.faq-item[open] {
	border-color: var(--bp-border-blue);

	box-shadow:
		0 10px 30px rgba(33, 25, 201, 0.05);
}

.faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;

	padding: 21px 24px;

	color: var(--bp-text);

	font-size: 14px;
	font-weight: 700;

	cursor: pointer;

	list-style: none;
}

.faq-item summary::-webkit-details-marker {
	display: none;
}

.faq-item summary span {
	display: flex;
	align-items: center;
	justify-content: center;

	flex-shrink: 0;

	width: 28px;
	height: 28px;

	background: var(--bp-blue-soft);

	border-radius: 50%;

	color: var(--bp-blue);

	font-size: 18px;
	font-weight: 400;

	transition:
		transform 200ms ease,
		background 200ms ease;
}

.faq-item[open] summary span {
	background: var(--bp-blue);

	color: var(--bp-white);

	transform: rotate(45deg);
}

.faq-answer {
	padding: 0 24px 22px;
}

.faq-answer p {
	margin: 0;

	color: var(--bp-text-muted);

	font-size: 14px;
	line-height: 1.8;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.product-cta {
	padding: 100px 0 120px;

	background: var(--bp-white);
}

.product-cta-card {
	position: relative;
	overflow: hidden;

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;

	padding: 60px 64px;

	background: var(--bp-deep);

	border-radius: 24px;

	box-shadow:
		0 25px 70px rgba(23, 18, 111, 0.18);
}

.product-cta-card::before {
	content: "";

	position: absolute;
	top: -180px;
	right: -100px;

	width: 400px;
	height: 400px;

	background: var(--bp-blue-light);

	border-radius: 50%;

	opacity: 0.35;
}

.product-cta-card::after {
	content: "";

	position: absolute;
	left: 40%;
	bottom: -220px;

	width: 350px;
	height: 350px;

	background: var(--bp-pink);

	border-radius: 50%;

	opacity: 0.14;
}

.product-cta-content,
.product-cta-actions {
	position: relative;
	z-index: 2;
}

.product-cta-content .section-eyebrow {
	color: var(--bp-blue-pale);
}

.product-cta-content h2 {
	color: var(--bp-white);
}

.product-cta-content h2 span {
	background:
		linear-gradient(
			100deg,
			var(--bp-blue-pale),
			var(--bp-pink-light)
		);

	-webkit-background-clip: text;
	background-clip: text;

	color: transparent;
}

.product-cta-content p {
	max-width: 600px;

	margin: 20px 0 0;

	color: rgba(255, 255, 255, 0.72);

	font-size: 14px;
	line-height: 1.85;
}

.product-cta-actions {
	flex-shrink: 0;

	margin-top: 0;
}

.product-cta .product-button-primary {
	background: var(--bp-white);

	color: var(--bp-blue);
}

.product-cta .product-button-primary:hover {
	background: var(--bp-blue-soft);

	color: var(--bp-blue);
}

.product-cta .product-button-secondary {
	background: transparent;

	border-color: rgba(255, 255, 255, 0.25);

	color: var(--bp-white);
}

.product-cta .product-button-secondary:hover {
	background: rgba(255, 255, 255, 0.08);

	color: var(--bp-white);
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes product-dashboard-float {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-12px);
	}

}

@keyframes product-floating {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-9px);
	}

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

	.product-hero-grid {
		grid-template-columns: 1fr;
		gap: 70px;
	}

	.product-hero-content {
		max-width: 760px;
	}

	.product-hero-visual {
		width: min(100%, 620px);

		margin: 0 auto;
	}

	.product-features-grid {
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.product-features-content {
		position: static;

		max-width: 700px;
	}

	.product-support-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.requirements-card {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.product-cta-card {
		flex-direction: column;
		align-items: flex-start;
	}

	.product-cta-actions {
		margin-top: 0;
	}

	.workflow-steps {
		flex-wrap: wrap;
		gap: 25px;
	}

	.workflow-step {
		width: calc(33.333% - 20px);
	}

	.workflow-connector {
		display: none;
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

	.product-page .container {
		width: min(100% - 40px, 620px);
	}

	.product-hero {
		padding: 80px 0 90px;
	}

	.product-hero-content h1 {
		font-size: clamp(40px, 11vw, 58px);
		letter-spacing: -2px;
	}

	.product-hero-description {
		font-size: 15px;
	}

	.product-hero-meta {
		gap: 22px;
	}

	.product-meta-item + .product-meta-item::before {
		display: none;
	}

	.product-hero-visual {
		min-height: 400px;
	}

	.product-dashboard {
		max-width: 500px;
	}

	.product-overview,
	.product-features,
	.product-workflow,
	.product-support,
	.product-details,
	.product-faq {
		padding: 80px 0;
	}

	.product-overview-grid {
		grid-template-columns: 1fr;
	}

	.details-grid {
		grid-template-columns: 1fr;
	}

	.support-cards {
		grid-template-columns: 1fr;
	}

	.workflow-step {
		width: calc(50% - 15px);
	}

	.requirements-card {
		padding: 40px 30px;
	}

	.product-cta {
		padding: 70px 0 90px;
	}

	.product-cta-card {
		padding: 42px 30px;
	}

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 560px) {

	.product-hero-actions,
	.product-cta-actions {
		flex-direction: column;
		align-items: stretch;

		width: 100%;
	}

	.product-button {
		width: 100%;
	}

	.product-hero-meta {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.product-hero-visual {
		min-height: 340px;
	}

	.product-dashboard-body {
		grid-template-columns: 110px 1fr;
	}

	.dashboard-sidebar {
		padding: 16px 10px;
	}

	.dashboard-products {
		padding: 16px 10px;
	}

	.dashboard-product-row {
		grid-template-columns: 18px 1fr;
	}

	.dashboard-price {
		display: none;
	}

	.product-floating-stat {
		padding: 9px 11px;
	}

	.product-floating-stat-blue {
		top: 10px;
		left: -10px;
	}

	.product-floating-stat-pink {
		right: -10px;
		bottom: 10px;
	}

	.product-page .section-heading h2,
	.product-features-content h2,
	.support-main h2,
	.requirements-content h2,
	.product-cta-content h2 {
		font-size: 34px;
	}

	.product-feature-item {
		grid-template-columns: 40px 1fr;
		gap: 12px;

		padding: 20px;
	}

	.workflow-step {
		width: 100%;
	}

	.workflow-step-number {
		width: 50px;
		height: 50px;
	}

	.requirements-card {
		padding: 32px 22px;
	}

	.product-cta-card {
		padding: 35px 22px;
	}

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.product-dashboard,
	.product-floating-stat {
		animation: none;
	}

	.product-button,
	.overview-card,
	.product-feature-item,
	.workflow-step-number,
	.support-card,
	.faq-item {
		transition: none;
	}

}