:root {
	/* Theme Colors */
	--color-primary: var(--theme-palette-color-1);
	--color-secondary: var(--theme-palette-color-2);
	--color-dark-black: var(--theme-palette-color-3);
	--color-black: var(--theme-palette-color-4);
	--color-accent: var(--theme-palette-color-5);
	--color-blue: var(--theme-palette-color-6);
	--color-dark-blue: var(--theme-palette-color-7);
	--color-white: var(--theme-palette-color-8);
	--color-green: var(--theme-palette-color-9);
	--color-red: var(--theme-palette-color-10);
	--color-orange: var(--theme-palette-color-11);
	--color-yellow: var(--theme-palette-color-12);

	/* Theme gradients */
	--button-gradient-start: var(--color-secondary);
	--button-gradient-end: var(--color-primary);
	--button-hover-gradient-start: var(--color-blue);
	--button-hover-gradient-end: var(--color-primary);
	--button-gradient: linear-gradient(135deg, var(--button-gradient-start) 0%, var(--button-gradient-end) 100%);
	--button-hover-gradient: linear-gradient(135deg, var(--button-hover-gradient-start) 0%, var(--button-hover-gradient-end) 100%);

	/* MWP theme transition */
	--mwp-theme-transition: 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);

	/* Add Theme Glass Effect */
	--glass-effect-dark-black: rgba(0, 17, 36, 0.5);
	--glass-effect-blur: blur(10px);

	/* Box Shadow */
	--box-shadow: 0px 3px 9px -3px var(--color-blue);

	/* Responsive Sizes */
	--mobile-max-width: 781px;
	--tablet-min-width: 782px --tablet-max-width: 1024px;
	--desktop-min-width: 1025px;

	/* General-purpose border radii */
	--border-radius-pill: 99999px;

	/* Border Styles */
	--border-dotted-blue: 1px dotted var(--color-blue);
	--border-dotted-dark-blue: 1px dotted var(--color-dark-blue);
	--theme-form-field-border-style: dotted;

	/* MWP Spacer Sizes */
	--mwp-size-xs: 9px;
	--mwp-size-sm: 15px;
	--mwp-size-m: 30px;
	--mwp-size-l: 60px;
	--mwp-size-xl: 120px;

	/* MWP Margin/Padding Spacing */
	--mwp-spacing: 30px;
	--mwp-neg-spacing: calc(-1 * var(--mwp-spacing));
}

/* ==================================
Page Transitions
=============================== */
/* Old page blurs and fades out while new page fades in with slight delay */
@media (prefers-reduced-motion: no-preference) {
	@view-transition {
		navigation: auto;
	}

	::view-transition-old(root) {
		animation: 0.2s ease-out both blur-out;
	}

	::view-transition-new(root) {
		animation: 0.2s ease-in both blur-in;
	}

	@keyframes blur-out {
		to {
			filter: blur(10px);
			opacity: 0;
		}
	}

	@keyframes blur-in {
		from {
			filter: blur(10px);
			opacity: 0;
		}
	}
}

::view-transition,
::view-transition-group(root),
::view-transition-image-pair(root),
::view-transition-old(root),
::view-transition-new(root) {
	pointer-events: none;
}

/* ==================================
GLOBAL STYLE OVERRIDES
=============================== */
/* Heavier headings and bold for Varela Round on desktop */
@media (min-width: 1025px) {

	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	strong,
	b {
		font-weight: 700;
	}
}

/* Heavier headings and bold for Varela Round on mobile/tablet */
@media (max-width: 1024px) {

	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	strong,
	b {
		-webkit-text-stroke: 0.03em currentColor;
		-webkit-font-smoothing: antialiased;
	}
}

/* Google Materials symbols base styling */
.material-symbols-rounded {
	font-family: 'Material Symbols Rounded';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;
}

/* Remove vertical spacing from Cloudflare Turnstile */
.cf-turnstile {
	line-height: 0;
	padding-top: 0px !important;
}

/* Form Input Styles */
input.pmpro_form_input {
	border: var(--border-dotted-blue);
}

textarea:focus,
input:focus {
	border: 1px solid var(--color-secondary) !important;
	box-shadow: 0 0 0 1px var(--color-secondary), 0px 1px 2px rgba(0, 0, 0, 0.15) !important;
}

/* Checkbox Styles */
input[type="checkbox"] {
	width: 15px !important;
	height: 15px !important;
	vertical-align: middle;
	background: var(--color-accent) !important;
	accent-color: var(--color-secondary);
}

/* Code Styles */
code {
	border-radius: 0;
	padding: 0px 3px;
}

/* Button Styles */
@property --button-gradient-start {
	syntax: "<color>";
	inherits: false;
	initial-value: #006efd;
}

@property --button-gradient-end {
	syntax: "<color>";
	inherits: false;
	initial-value: #183e6b;
}

button,
[type=submit],
.ct-button,
.wpforms-submit,
.wp-block-button__link.wp-element-button,
div.wpforms-container-full button[type=submit] {
	--button-gradient-start: var(--color-secondary);
	--button-gradient-end: var(--color-primary);
	cursor: pointer;
	line-height: 1 !important;
	box-sizing: border-box;
	color: var(--color-accent);
	background: linear-gradient(
		135deg,
		var(--button-gradient-start) 0%,
		var(--button-gradient-end) 100%
	);
	border: var(--theme-button-border);
	transition: 
		--button-gradient-start .12s cubic-bezier(0.455, 0.03, 0.515, 0.955),
		--button-gradient-end .12s cubic-bezier(0.455, 0.03, 0.515, 0.955),
		all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

button:hover,
[type=submit]:hover,
.ct-button:hover,
.wp-block-button__link.wp-element-button:hover,
div.wpforms-container-full button[type=submit]:hover {
	--button-gradient-start: var(--color-secondary);
	--button-gradient-end: var(--color-secondary);
	border-color: var(--theme-button-border-hover-color);
	transition: 
		--button-gradient-start .12s cubic-bezier(0.455, 0.03, 0.515, 0.955),
		--button-gradient-end .12s cubic-bezier(0.455, 0.03, 0.515, 0.955),
		all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[type=submit]:disabled:hover {
	background: var(--button-gradient);
}

/* Search results override */
form[data-form-controls="inside"] .ct-search-results {
	background: var(--color-dark-black);
	background-color: var(--glass-effect-dark-black);
	backdrop-filter: var(--glass-effect-blur);
	color: var(--color-accent);
	border: var(--border-dotted-blue);
	box-shadow: var(--box-shadow);
}

/* ==================================
GUTENBERG ADDITIONAL CSS CLASSES
=============================== */
/* RESPONSIVE CONDITIONS */
@media (max-width: 781px) {
	/* Hide on mobile */
	.hide-mobile {
		display: none !important;
	}

	/* Wrap on mobile */
	.wrap-mobile {
		flex-wrap: wrap !important;
		width: 100% !important;
	}
}

/* Hide on tablet */
@media (min-width: 782px) and (max-width: 1024px) {
	.hide-tablet {
		display: none !important;
	}
}

/* Hide on desktop */
@media (min-width: 1025px) {
	.hide-desktop {
		display: none !important;
	}
}

/* RAISE DOLLAR SIGN ON PRICING CARDS */
.mwp-dollar-sign sup {
	top: -0.75em;
}

/* =============================== */

/* Add horizontal borders */
/* Shared setup for all horizontal line variants */
.line-x,
.line-x-top,
.line-x-bottom {
	position: relative;
}

/* TOP line (used by .line-x and .line-x-top) */
.line-x::before,
.line-x-top::before {
	content: "";
	position: absolute;
	top: calc(0.25rem * 0);
	left: -100vw;
	width: 200vw;
	border-top: var(--border-dotted-blue);
}

/* BOTTOM line (used by .line-x and .line-x-bottom) */
.line-x::after,
.line-x-bottom::after {
	content: "";
	position: absolute;
	bottom: calc(0.25rem * 0);
	left: -100vw;
	width: 200vw;
	border-bottom: var(--border-dotted-blue);
}

/* =============================== */

/* Add vertical margin lines to MWP Content Containers */
.mwp-content-container {
	position: relative;
}

/* Default pseudo-elements */
.mwp-content-container::before,
.mwp-content-container::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: -1;
}

/* Left vertical line */
.mwp-content-container::before {
	left: var(--mwp-spacing);
	border-right: var(--border-dotted-dark-blue);
}

/* Right vertical line */
.mwp-content-container::after {
	right: var(--mwp-spacing);
	border-left: var(--border-dotted-dark-blue);
}

@media (max-width: 781px) {

	/* Fix disappearing left line on mobile */
	.mwp-content-container::before {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

/* ===============================
LIST STYLE
=============================== */
/* Square bullets by default */
ul {
	list-style: square;
}

/* Checkmark for ENTIRE LIST */
ul.check-list {
	list-style: none;
	padding-left: 0;
}

ul.check-list li {
	position: relative;
	padding-left: 1.5rem;
}

ul.check-list li::before {
	position: absolute;
	display: inline-block;
	content: "check";
	font-family: 'Material Symbols Rounded';
	font-weight: 700;
	left: 0;
	top: -0.3rem;
	width: auto;
	height: auto;
	font-size: 1.2em;
	color: var(--color-green);
	margin-left: -0.1em;
}

/* Checkmark for INDIVIDUAL LIST ITEM (using li.is-checked) */
/* This is useful for mixed lists. It targets LIs in any list. */
li.is-checked::before {
	position: absolute !important;
	content: "check" !important;
	font-family: 'Material Symbols Rounded' !important;
	font-weight: 700 !important;
	left: 0 !important;
	top: -0.3rem !important;
	font-size: 1.2em !important;
	color: var(--color-green) !important;
	background-color: transparent !important;
	outline: none !important;
	width: auto !important;
	height: auto !important;
	margin-left: -0.1em !important;
}

/* Remove bullet from ENTIRE LIST (ul.ul-no-bullets) */
ul.ul-no-bullets li {
	padding-left: 1.75rem !important;
}

ul.ul-no-bullets li::before,
ul.ul-no-bullets li::marker {
	content: none !important;
	display: none !important;
}

/* Remove bullet from INDIVIDUAL LIST ITEM (li.ul-item-no-bullet) */
/* Targets a single list item */
li.ul-item-no-bullet::before,
ul.check-list li.ul-item-no-bullet::before {
	content: none !important;
	display: none !important;
}

/* ==================================
SCROLL TO TOP STYLING
=============================== */
/* Add border to scroll-to-top */
.ct-back-to-top.ct-show {
	border: var(--border-dotted-blue);
	padding: 6.5px;
}

/* ==================================
HEADER STYLING
=============================== */
/* Remove link underline for number */
.ct-header .ct-header-text a {
	--theme-text-decoration: none !important;
}

/* =============================== */
:root {
	--transition-header-collapse: .25s cubic-bezier(0.165, 0.840, 0.440, 1.000);
	--transition-header-expand: .25s ease-in-out;
	--transition-header-site-title-collapse: .5s cubic-bezier(0.165, 0.840, 0.440, 1.000);
	--transition-header-site-title-expand: .5s ease-in-out;
}

/* Shrink header on sticky state */
.ct-header [data-sticky="yes:shrink"] [data-row="top"] {
	opacity: 0;
}

.ct-header [data-row="top"] {
	transition: none !important;
}

.ct-header [data-sticky="yes:shrink"] [data-row="middle"] {
	box-sizing: border-box !important;
	margin-inline-start: auto;
	margin-inline-end: auto;
	width: var(--theme-container-width);
	max-width: var(--theme-normal-container-max-width);
	border: 1px dotted var(--color-blue) !important;
}

/* Transition for collapse */
.ct-header [data-sticky="yes:shrink"] [data-row="middle"] .ct-container {
	padding: var(--row-padding, 0 var(--mwp-spacing));
	transition: padding var(--transition-header-collapse);
}

/* Transition for expand */
.ct-header .ct-container {
	transition: padding var(--transition-header-expand);
}

/* =============================== */
/* Shrink site title on mobile */
/* For Desktop Use */
/*
.site-title a[itemprop="url"] {
	display: inline-flex;
	align-items: baseline;
	white-space: nowrap;
}
*/
/* For Mobile Use */
.site-title a {
	display: inline-flex;
	align-items: baseline;
	white-space: nowrap;
}

.logo-m,
.logo-aintain,
.logo-wp {
	display: inline-block;
	vertical-align: baseline;
	transition: max-width var(--transition-header-site-title-expand) 0.5s,
		opacity var(--transition-header-site-title-expand) 0.7s;
	will-change: max-width, opacity;
}

.logo-aintain {
	max-width: 200px;
	overflow: hidden;
	opacity: 1;
}

/* Collapsed state */
.logo-collapsed .logo-aintain {
	max-width: 0;
	opacity: 0;
	transition: max-width var(--transition-header-site-title-expand) 0.3s,
		opacity var(--transition-header-site-title-expand) 0.5s;
}

/* Expanded state - explicitly set for smooth transition back */
.logo-expanded .logo-aintain {
	max-width: 200px;
	opacity: 1;
	transition: max-width var(--transition-header-site-title-expand) 0.5s,
		opacity var(--transition-header-site-title-expand) 0.4s;
}

/* =============================== */
/* Add text instead of logo to off canvas menu */
.site-logo-container[data-id="offcanvas-logo"]::after {
	content: "MaintainWP";
	font-size: 2rem;
	-webkit-text-stroke: 0.025em currentColor;
	-webkit-font-smoothing: antialiased;
	color: var(--color-accent);
	transition: var(--theme-transition);
}

.site-logo-container[data-id="offcanvas-logo"]:hover::after {
	color: inherit;
}

.site-logo-container {
	height: auto;
}

/* Hide any existing logo image if present 
.site-logo-container[data-id="offcanvas-logo"] img {
display: none;
}
*/

/* Give off canvas background a glass effect */
[data-header*="type-1"] #offcanvas {
	background: var(--color-dark-black);
	background-color: var(--glass-effect-dark-black);
	backdrop-filter: var(--glass-effect-blur);
}

/* ==================================
FOOTER STYLING
=============================== */
/* Add left and right borders to bottom row */
#footer [data-row="bottom"] .ct-container {
	border-left: var(--border-dotted-blue);
	border-right: var(--border-dotted-blue);
}

/* Remove left margin from widget container */
#footer .ct-widget {
	margin: 0;
}

#footer [data-row="middle"] .ct-container {
	position: relative;
	padding: 0;
}

.mwp-content-wrapper-footer {
	min-height: 100%;
	gap: 0;
	margin: 0;
	padding: 0;
}

.mwp-content-container-footer {
	min-height: 100%;
	gap: 0;
	margin: 0;
	padding: 0;
	align-self: stretch;
	border-left: var(--border-dotted-blue);
	border-right: var(--border-dotted-blue);
}

.mwp-content-block-footer {
	gap: 0;
	margin: 0;
	align-self: stretch;
	padding-top: var(--mwp-spacing);
	padding-bottom: var(--mwp-spacing);
}

.mwp-content-block-footer> :last-child {
	border-bottom: var(--border-dotted-dark-blue);
}

/* Add horizontal margin lines to MWP Content Blocks */
.mwp-content-block-footer {
	position: relative;
}

/* Default pseudo-elements */
.mwp-content-block-footer::before,
.mwp-content-block-footer::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
}

/* Left vertical line */
.mwp-content-block-footer::before {
	top: var(--mwp-spacing);
	border-top: var(--border-dotted-dark-blue);
}

/* Right vertical line */
.mwp-content-block-footer::after {
	bottom: var(--mwp-spacing);
	border-bottom: var(--border-dotted-dark-blue);
}

/* Add vertical margin lines to MWP Content Containers */
.mwp-content-container-footer {
	position: relative;
}

/* Default pseudo-elements */
.mwp-content-container-footer::before,
.mwp-content-container-footer::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
}

/* Left vertical line */
.mwp-content-container-footer::before {
	left: var(--mwp-spacing);
	border-right: var(--border-dotted-dark-blue);
}

/* Right vertical line */
.mwp-content-container-footer::after {
	right: var(--mwp-spacing);
	border-left: var(--border-dotted-dark-blue);
}

.mwp-content-footer-links {
	gap: 0;
}

/* ==================================
PLAN PRICE TOGGLE SWITCH
=============================== */
.mwp-content-general .price-toggle-checkbox {
	/* Custom Properties */
	--_switch-bg-clr: var(--button-gradient);
	--_switch-padding: 4px;
	--_slider-bg-clr: var(--color-accent);
	--_slider-bg-clr-on: var(--color-accent);
	--_slider-txt-clr: var(--color-accent);
	--_slider-txt-clr-on: var(--color-black);
	--_label-padding: 1rem 2rem;
	--_switch-easing: cubic-bezier(0.47, 1.64, 0.41, 0.8);

	/* Main Container Styles */
	width: fit-content;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-content: center;
	position: relative;
	border-radius: var(--border-radius-pill);
	cursor: pointer;
	isolation: isolate;
}

.price-toggle-checkbox input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

.price-toggle-checkbox>span {
	display: grid;
	place-content: center;
	transition: opacity 300ms ease-in-out 150ms, color 300ms ease-in-out;
	padding: var(--_label-padding);
	z-index: 10;
	pointer-events: none;
	font-weight: 600;
	color: var(--_slider-txt-clr);
}

/* Active (selected) label gets the "on" color */
.price-toggle-checkbox>span:last-of-type {
	color: var(--_slider-txt-clr);
}

.price-toggle-checkbox:has(input:checked)>span:first-of-type {
	color: var(--_slider-txt-clr);
}

.price-toggle-checkbox:has(input:checked)>span:last-of-type {
	color: var(--_slider-txt-clr-on);
}

.price-toggle-checkbox:has(input:not(:checked))>span:first-of-type {
	color: var(--_slider-txt-clr-on);
}

.price-toggle-checkbox::before,
.price-toggle-checkbox::after {
	content: "";
	position: absolute;
	border-radius: inherit;
	transition: inset 150ms ease-in-out;
}

.price-toggle-checkbox::before {
	background-color: var(--_slider-bg-clr);
	inset: var(--_switch-padding) 50% var(--_switch-padding) var(--_switch-padding);
	transition: inset 500ms var(--_switch-easing), background-color 500ms ease-in-out;
	z-index: -1;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.3);
}

.price-toggle-checkbox::after {
	background: var(--_switch-bg-clr);
	inset: 0;
	z-index: -2;
}

.price-toggle-checkbox:focus-within::after {
	inset: -0.25rem;
	box-shadow: 0 0 0 3px rgba(12, 74, 110, 0.5);
}

.price-toggle-checkbox:has(input:checked)::before {
	background-color: var(--_slider-bg-clr-on);
	inset: var(--_switch-padding) var(--_switch-padding) var(--_switch-padding) 50%;
}

.price-toggle-checkbox:has(input:checked):hover>span:first-of-type,
.price-toggle-checkbox:has(input:not(:checked)):hover>span:last-of-type {
	opacity: 1;
	transition-delay: 0ms;
	transition-duration: 100ms;
}

.price-toggle-checkbox:has(input:not(:checked)):hover::before {
	inset: var(--_switch-padding) 45% var(--_switch-padding) var(--_switch-padding);
}

.price-toggle-checkbox:has(input:checked):hover::before {
	inset: var(--_switch-padding) var(--_switch-padding) var(--_switch-padding) 45%;
}

/* Discount On Yearly Plan */
.price-toggle-checkbox>span:last-of-type::after {
	content: "2 Months Free!";
	position: absolute;
	top: -20px;
	right: -15px;
	background: var(--color-green);
	color: var(--color-accent);
	font-size: 15px;
	font-weight: 600;
	padding: .25rem .75rem;
	border: 2px solid var(--color-black);
	border-radius: var(--border-radius-pill);
	transform: rotate(15deg);
}

/* ==================================
PRICING CARDS
=============================== */
/* Active state background and borders */
@property --plan-grad-start {
	syntax: "<color>";
	inherits: false;
	initial-value: rgba(0, 110, 253, 0);
}

@property --plan-grad-end {
	syntax: "<color>";
	inherits: false;
	initial-value: rgba(24, 62, 107, 0);
}

/* Base plan styling */
.pricing-plan {
	cursor: pointer;

	/* transparent by default */
	--plan-grad-start: rgba(0, 110, 253, 0);
	--plan-grad-end: rgba(24, 62, 107, 0);

	background: linear-gradient(135deg, var(--plan-grad-start) 0%, var(--plan-grad-end) 100%);
	transition:
		--plan-grad-start var(--mwp-theme-transition),
		--plan-grad-end var(--mwp-theme-transition);
}

/* Make border-color animate at the same rate */
.pricing-plan *,
.mwp-pricing-cards .mwp-content-container::before,
.mwp-pricing-cards .mwp-content-container::after {
	transition: border-color var(--mwp-theme-transition);
}

/* Active state = normal gradient */
.pricing-plan.active {
	--plan-grad-start: rgb(0, 110, 253);
	--plan-grad-end: rgb(24, 62, 107);
}

.pricing-plan.active * {
	border-color: transparent !important;
}

.mwp-pricing-cards .mwp-content-container:has(.pricing-plan.active)::before,
.mwp-pricing-cards .mwp-content-container:has(.pricing-plan.active)::after {
	border-color: transparent !important;
}

/* Hover state for non-active plans = hover gradient */
.pricing-plan:hover:not(.active) {
	--plan-grad-start: rgb(47, 103, 175);
	--plan-grad-end: rgb(24, 62, 107);
}

.pricing-plan:hover:not(.active) * {
	border-color: transparent !important;
}

.mwp-content-container:has(.pricing-plan:hover:not(.active))::before,
.mwp-content-container:has(.pricing-plan:hover:not(.active))::after {
	border-color: transparent !important;
}

/* Price switching visibility */
.pricing-content {
	display: none !important;
}

.pricing-content.active {
	display: block !important;
}

/* Hide monthly prices by default for price switching */
/* .monthly-price {} */
.is-hidden {
	display: none !important;
}

/* .yearly-price {} */
.is-visible {
	display: inline-block;
}

/* =============================== */

/* Mobile pricing cards scrollable */
.mwp-pricing-cards {
	/* Required for hiding scrollbar in IE/Edge/Firefox */
	-ms-overflow-style: none;
	scrollbar-width: none;
}

/* Hide scrollbar on Webkit browsers (Chrome, Safari) */
.mwp-pricing-cards::-webkit-scrollbar {
	display: none;
	height: 0;
}

@media (max-width: 781px) {

	/* Wrapper: The Main Gutenberg Columns Block */
	.mwp-pricing-cards {
		/* Force cards to stay in a row, overriding the default stacking */
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		border-left: var(--border-dotted-blue);
		border-right: var(--border-dotted-blue);
	}

	/* Individual Cards: The Inner Gutenberg Column Blocks */
	.mwp-pricing-cards>.mwp-pricing-card-column {
		/* account for outer borders */
		min-width: calc(90vw - 2px);
		max-width: calc(90vw - 2px);
		flex: 0 0 calc(90vw - 2px);
		scroll-snap-align: center;
	}

	/* Remove card borders when centered in view */
	.mwp-content-container.is-centered {
		border: none !important;
	}
}

/* Add scroll arrows */
.scroll-arrow {
	position: absolute;
	top: 30px;
	height: 30px;
	z-index: 1;
	transition: opacity 0.3s;
}

.scroll-arrow .wp-block-button__link {
	color: var(--color-black);
	background-color: var(--color-accent);
}

.scroll-arrow .wp-block-button__link:hover {
	color: var(--color-black);
}

.scroll-arrow-left .material-symbols-rounded,
.scroll-arrow-right .material-symbols-rounded {
	margin-left: -0.2em;
	margin-right: -0.2em;
}

.scroll-arrow-left .material-symbols-rounded {
	transform: rotate(180deg);
}

.scroll-arrow-left {
	left: 32px;
	transform: translateX(-50%) translateY(-50%);
}

.scroll-arrow-right {
	right: 32px;
	transform: translateX(50%) translateY(-50%);
}

/* Hide the arrows if they are "disabled" via the class on the outer DIV */
.scroll-arrow.is-disabled {
	opacity: 0;
	pointer-events: none;
	cursor: default;
}

/* Hide arrows entirely on desktop */
@media (min-width: 782px) {
	.scroll-arrow {
		display: none;
	}
}

/* ==================================
FEATURE COMPARISON TABLE
Shared styles for all comparison
table instances. Layout variables
are set on .comparison-table-wrapper
via modifier classes so that both
the snap grid and the scroll arrows
(which are siblings, not children,
of the snap div) can inherit them.
================================== */


/* ──────────────────────────────────
SHARED BASE VARIABLES
Values that apply to every table.
────────────────────────────────── */
:root {
	--header-row-height--4col: 200px;
	--header-row-height--3col: 150px;
	--feature-row-height: 60px;
}

/* ──────────────────────────────────
TABLE LAYOUT MODIFIER CLASSES
Applied to .comparison-table-wrapper.
Both .comparison-table-snap and the
scroll arrow divs are children of
the wrapper, so they inherit these
variables via normal CSS cascade.
────────────────────────────────── */

/* 4-column layout: 1 feature col + 3 visible plan cols */
.comparison-table-wrapper--4col {
	--header-row-height: var(--header-row-height--4col);
	--feature-col-width: 25%;
	--visible-plans: 3;
	--num-feature-rows: 20;
}

/* 3-column layout: 1 feature col + 2 visible plan cols */
.comparison-table-wrapper--3col {
	--header-row-height: var(--header-row-height--3col);
	--feature-col-width: 33.3333%;
	--visible-plans: 2;
	--num-feature-rows: 18;
}

/* ──────────────────────────────────
WRAPPER & GRID
────────────────────────────────── */

.comparison-table-wrapper {
	position: relative;
}

.comparison-table-snap {
	display: grid;
	/* Feature column width driven by the wrapper modifier class */
	grid-template-columns: var(--feature-col-width) 1fr;
	width: 100%;
}

/* ──────────────────────────────────
FEATURE COLUMN (left label column)
────────────────────────────────── */

.feature-column {
	left: 0;
	top: 0;
	z-index: 5;
	border-right: var(--border-dotted-blue);
	display: grid;
	grid-template-rows: var(--header-row-height) repeat(var(--num-feature-rows), var(--feature-row-height));
	align-items: stretch;
	box-sizing: border-box;
}

.feature-header,
.feature-footer {
	padding: 15px;
	text-align: center;
	border-bottom: var(--border-dotted-blue);
	box-sizing: border-box;
}

.feature-header h3,
.feature-footer h3 {
	font-size: 1rem;
	margin-top: -0.3125em;
	margin-bottom: -0.3125em;
	padding-bottom: 15px;
}

.feature-item {
	padding: 15px;
	border-bottom: var(--border-dotted-blue);
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.feature-text {
	display: inline;
}

/* ──────────────────────────────────
PLANS WRAP & PLAN COLUMNS
────────────────────────────────── */

.plans-wrap {
	display: flex;
	overflow-x: scroll;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
}

.plan-column {
	flex: 0 0 calc(100% / var(--visible-plans));
	min-width: 220px;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	border-right: var(--border-dotted-blue);
	display: grid;
	grid-template-rows: var(--header-row-height) repeat(var(--num-feature-rows), var(--feature-row-height));
	align-items: stretch;
	box-sizing: border-box;
}

.plan-header,
.plan-footer {
	padding: 15px;
	text-align: center;
	border-bottom: var(--border-dotted-blue);
	box-sizing: border-box;
}

.plan-text h3,
.plan-text p,
.plan-price {
	margin-top: -0.3125em;
	margin-bottom: -0.3125em;
	padding-bottom: 15px;
}

.plan-text h3 {
	font-size: 1rem;
}

.plan-text p {
	font-size: 0.9rem;
}

.plan-price {
	font-weight: 700;
}

.plan-item {
	padding: 15px;
	border-bottom: var(--border-dotted-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
}

.plan-item [class^="plan-item-"],
.plan-item [class*=" plan-item-"] {
	font-size: 2em;
	font-weight: 700;
}

.plan-item .plan-item-check,
.plan-item .plan-item-done_all {
	color: var(--color-green);
}

.plan-item .plan-item-remove {
	color: inherit;
}

.plan-item .plan-item-close {
	color: var(--color-red);
}

.plan-item i.fa-minus {
	color: var(--color-accnet);
	font-size: 1.2rem;
}

/* ──────────────────────────────────
SCROLLBAR HIDE
────────────────────────────────── */

.plans-wrap::-webkit-scrollbar {
	display: none;
	height: 0px;
	width: 0px;
}

/* ──────────────────────────────────
ALTERNATING ROW COLOURS
────────────────────────────────── */

.feature-item:nth-child(n),
.plan-item:nth-child(n) {
	background: var(--color-dark-black);
}

.feature-item:nth-child(2n + 1),
.plan-item:nth-child(2n + 1) {
	background: var(--color-black);
}

.feature-footer:nth-child(even),
.plan-footer:nth-child(even) {
	background: var(--color-dark-black);
}

.feature-footer:nth-child(odd),
.plan-footer:nth-child(odd) {
	background: var(--color-black);
}

/* ──────────────────────────────────
BORDER CLEANUP
────────────────────────────────── */

.comparison-table-snap .plans-wrap .plan-column:last-child {
	border-right: none;
}

.comparison-table-snap .feature-footer,
.comparison-table-snap .plan-footer {
	border-bottom: none;
}

/* ──────────────────────────────────
SCROLL ARROWS
Positioned absolutely within the
wrapper, offset by --feature-col-width
so they sit inside the plans area only.
Hidden by default; shown per breakpoint.
────────────────────────────────── */

.compare-scroll-arrow {
	display: none;
	position: absolute;
	top: 0;
	height: 30px;
	z-index: 1;
	transition: opacity 0.3s;
}

.compare-scroll-arrow.is-disabled {
	opacity: 0;
	pointer-events: none;
}

.compare-scroll-arrow-left .material-symbols-rounded,
.compare-scroll-arrow-right .material-symbols-rounded {
	margin-left: -0.2em;
	margin-right: -0.2em;
}

.compare-scroll-arrow-left .material-symbols-rounded {
	transform: rotate(180deg);
}

/* ══════════════════════════════════
TABLET  (782px – 1024px)
══════════════════════════════════ */
@media (max-width: 1024px) and (min-width: 782px) {

	/* 4-col table: widen feature col, show 2 plans at once */
	.comparison-table-wrapper--4col {
		--feature-col-width: 33.3333%;
		--visible-plans: 2;
	}

	/* 3-col table: feature col is already 33.33% and both plans
	fit without scrolling — no variable overrides needed. */

	.compare-swipe {
		display: block;
		left: calc(100% - var(--feature-col-width));
	}

	.feature-header,
	.feature-item {
		width: 100%;
		min-width: 0;
		word-wrap: break-word;
		overflow-wrap: break-word;
		box-sizing: border-box;
	}

	.plans-wrap {
		flex: none;
		width: 100%;
	}

	.plan-column {
		min-width: 0;
	}

	/* Show arrows only for the 4-col table on tablet
	(3-col table has no overflow at this viewport width) */
	.comparison-table-wrapper--4col .compare-scroll-arrow {
		display: block;
	}

	/* Arrows sit just inside the edge of the plans area */
	.compare-scroll-arrow-left {
		left: calc(var(--feature-col-width) + 15px);
	}

	.compare-scroll-arrow-right {
		right: 15px;
	}
}

/* ══════════════════════════════════
MOBILE  (≤ 781px)
══════════════════════════════════ */
@media (max-width: 781px) {

	:root {
		--feature-row-height: 90px;
	}

	/* Both table types show 1 plan at a time on mobile */
	.comparison-table-wrapper--4col,
	.comparison-table-wrapper--3col {
		--feature-col-width: 50%;
		--visible-plans: 1;
	}

	.compare-swipe {
		display: block;
		left: 75%;
	}

	.feature-header,
	.feature-item {
		width: 100%;
		min-width: 0;
		word-wrap: break-word;
		overflow-wrap: break-word;
		box-sizing: border-box;
	}

	.plans-wrap {
		flex: none;
		width: 100%;
	}

	.plan-column {
		min-width: 0;
	}

	/* Show arrows for both table types on mobile */
	.compare-scroll-arrow {
		display: block;
	}

	/* Arrows sit flush at the boundary of the plans area */
	.compare-scroll-arrow-left {
		left: var(--feature-col-width);
	}

	.compare-scroll-arrow-right {
		right: 0px;
	}

	/* Hide side borders when a plan column is the active/centred one */
	.plan-column.is-centered {
		border-left: none !important;
		border-right: none !important;
	}
}

/* ==================================
MWP TOOLTIPS
=============================== */
.mwp-tooltip {
	position: relative;
	display: inline;
	cursor: help;
	--has-transparent-header: 1;
}

.mwp-tooltip .mwp-content-container,
.mwp-tooltip .mwp-content-block {
	display: flex;
	flex-direction: column;
	min-height: auto;
	height: auto;
	border: none;
}

.mwp-tooltip-text {
	visibility: hidden;
	background: var(--color-dark-black);
	background-color: var(--glass-effect-dark-black);
	backdrop-filter: var(--glass-effect-blur);
	color: var(--color-accent);
	text-align: left;
	border: var(--border-dotted-blue);
	position: absolute;
	z-index: 10;
	bottom: calc(100% + 15px);
	left: 75%;
	width: 333px;
	max-width: min(calc(90vw - 32px), 333px);
	box-shadow: var(--box-shadow);
	opacity: 0;
	transition: opacity 0.1s ease-in, visibility 0.2s ease-in;
}

/* Delay fade-out when hover/focus ends */
.mwp-tooltip .mwp-tooltip-text.mwp-content-wrapper {
	transition-delay: 0.2s;
}

.mwp-tooltip-text h4,
.mwp-tooltip-text p {
	padding: 0 30px;
}

.mwp-tooltip-text p {
	font-size: 14px;
}

.mwp-tooltip:hover .mwp-tooltip-text {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.1s ease-out, visibility 0s;
}

.mwp-tooltip .material-symbols-rounded {
	display: inline-block;
	position: relative;
	top: 0.2em;
	font-size: 1.2em;
}

/* Remove delay for max-width 1024px */
@media (max-width: 1024px) {
	.mwp-tooltip .mwp-tooltip-text.mwp-content-wrapper {
		transition-delay: 0s;
	}
}

/* Mobile adjustments */
@media (max-width: 781px) {
	.mwp-tooltip .mwp-tooltip-text.mwp-content-wrapper {
		left: 0;
	}
}

/* ==================================
MWP PROGRESS BAR
=============================== */
:root {
	--progress-value: 0%;
}

.mwp-progress-container {
	position: relative;
	margin: 0px;
	width: 100%;
	height: 10px;
	background: var(--color-black);
	border: var(--border-dotted-blue);
	border-radius: var(--border-radius-pill);
	overflow: hidden;
}

.mwp-progress-bar {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 0%;
	background: var(--color-accent);
	border-radius: var(--border-radius-pill) 0 0 var(--border-radius-pill);
	transition: width .7s cubic-bezier(.2, .6, .4, 1) !important;
	will-change: width;
}

.mwp-progress-container.loaded .mwp-progress-bar {
	width: var(--progress-value);
	border-radius: var(--border-radius-pill);
}

/* ==================================
MWP ACCORDION
=============================== */
/* --- Header (Question + Trigger Icon) --- */
.mwp-accordion-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: var(--mwp-size-sm) !important;
	padding-left: 30px;
	padding-right: 30px;
	cursor: pointer;
}

.mwp-accordion-header * {
	transition: var(--theme-transition);
}

.mwp-accordion-header:hover * {
	color: var(--color-blue);
}

.mwp-accordion.active .mwp-accordion-header * {
	color: var(--color-secondary);
}

.mwp-accordion-trigger {
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	align-self: flex-start;
	position: relative;
	line-height: 1;
	margin: 0;
	min-width: 1em;
}

.mwp-accordion-trigger::before,
.mwp-accordion-trigger::after {
	content: "";
	font-family: 'Material Symbols Rounded';
	font-size: 1.25em;
	line-height: 1;
	position: absolute;
	margin-top: -0.18em;
	margin-right: -0.2em;
	margin-bottom: -0.18em;
	margin-left: -0.2em;
	transition: opacity 0.25s ease;
}

@media (min-width: 1025px) {

	.mwp-accordion-trigger::before,
	.mwp-accordion-trigger::after {
		font-weight: 700;
	}
}

@media (max-width: 1024px) {

	.mwp-accordion-trigger::before,
	.mwp-accordion-trigger::after {
		-webkit-text-stroke: 0.02em currentColor;
		-webkit-font-smoothing: antialiased;
	}
}

/* Expand trigger icon */
.mwp-accordion-header .mwp-accordion-trigger::before {
	content: "expand_content";
	opacity: 1;
}

/* Collapse trigger icon (active state overlay) */
.mwp-accordion-header .mwp-accordion-trigger::after {
	content: "collapse_content";
	opacity: 0;
}

/* When Accordion is Active */
.mwp-accordion.active .mwp-accordion-trigger::before {
	opacity: 0;
}

.mwp-accordion.active .mwp-accordion-trigger::after {
	opacity: 1;
}

/* --- Collapsible Content (Answer) --- */
.mwp-accordion-content {
	height: 0;
	overflow: hidden;
	transition: height 0.25s ease-out;
}

.mwp-accordion-inner-content {
	padding-left: 30px;
	padding-right: 30px;
}

/* ==================================
MWP CONTENT BLOCK CLASSES
=============================== */
.mwp-content-wrapper {
	min-height: 100%;
	gap: 0;
	margin: 0;
	padding: 0;
}

.mwp-content-container {
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	align-self: stretch;
	min-height: 100%;
	gap: 0;
	margin: 0;
	padding: 0;
	border-left: var(--border-dotted-blue);
	border-right: var(--border-dotted-blue);
}

.mwp-content-block {
	min-width: 100%;
	align-self: stretch;
	gap: 0;
	margin: 0;
	padding-top: var(--mwp-spacing);
	padding-bottom: var(--mwp-spacing);
	padding-right: 0;
	padding-left: 0;
}

/* Add horizontal margin lines to MWP Content Blocks */
.mwp-content-block {
	position: relative;
}

/* Default pseudo-elements */
.mwp-content-block::before,
.mwp-content-block::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	z-index: -1;
}

/* Left vertical line */
.mwp-content-block::before {
	top: var(--mwp-spacing);
	border-top: var(--border-dotted-dark-blue);
}

/* Right vertical line */
.mwp-content-block::after {
	bottom: var(--mwp-spacing);
	border-bottom: var(--border-dotted-dark-blue);
}

/* mwp-content-block add border to top of first child and bottom of last child */
/* Look out for overlap issues at top */
.mwp-content-block > :first-child {
	border-top: var(--border-dotted-dark-blue);
}
/* Look out for overlap issues at bottom */
.mwp-content-block > :last-child {
	border-bottom: var(--border-dotted-dark-blue);
}

/* Remove top and bottom margins from all text inside mwp-content-text */
.mwp-content-text a,
.mwp-content-text p,
.mwp-content-text h1,
.mwp-content-text h2,
.mwp-content-text h3,
.mwp-content-text h4,
.mwp-content-text h5,
.mwp-content-text h6,
.mwp-content-text li,
.mwp-content-text ul.check-list li::before,
.mwp-content-text small,
.mwp-content-text blockquote {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	text-box: trim-both cap alphabetic !important;
}

.mwp-content-text ol,
.mwp-content-text ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* base mwp-divider styles */
.mwp-divider {
	box-sizing: border-box;
	border-left: var(--border-dotted-blue);
	border-right: var(--border-dotted-blue);
}

/* mwp-divider heights */
.mwp-divider-content {
	height: var(--mwp-size-m);
}

.mwp-divider-section {
	height: var(--mwp-size-l);
}

.mwp-divider-page {
	height: var(--mwp-size-xl);
}

.mwp-divider-page-bottom {
	min-height: var(--mwp-size-xl);
	height: auto;
}

/* base mwp-spacer styles */
.mwp-spacer {
	max-width: unset !important;
	box-sizing: content-box;
	border-top: var(--border-dotted-dark-blue) !important;
	border-bottom: var(--border-dotted-dark-blue) !important;
	border-right: none !important;
	border-left: none !important;
}

/* eventually incorporate this into the standard spacer */
.mwp-spacer-extend {
	margin-left: calc(-1 * var(--mwp-spacing)) !important;
	margin-right: calc(-1 * var(--mwp-spacing)) !important;
}

.mwp-spacer-15 {
	height: var(--mwp-size-sm);
}

.mwp-spacer-30 {
	height: var(--mwp-size-m);
}

.mwp-spacer-60 {
	height: var(--mwp-size-l);
}

.mwp-spacer-120 {
	height: var(--mwp-size-xl);
}

/* deprecated - delete and replace with size classes */
.mwp-spacer-icon {
	height: var(--mwp-size-sm)
}

.mwp-spacer-title {
	height: var(--mwp-size-sm);
}

.mwp-spacer-description {
	height: var(--mwp-size-sm);
}

.mwp-spacer-list {
	height: var(--mwp-size-sm);
}

.mwp-spacer-general {
	height: var(--mwp-size-sm);
}

.mwp-spacer-page {
	height: var(--mwp-size-xl);
}

/* mwp-content item specific styles */
.mwp-content-icon {}

.mwp-content-title {}

.mwp-content-block-hero-title {
	justify-content: center !important;
}

.mwp-content-description {}

.mwp-content-list {}

.mwp-content-tooltip {}

.mwp-content-general {}

.mwp-content-cta,
.mwp-content-buttons,
.wp-block-button {
	line-height: 0;
}

.mwp-audit-content {
	padding-left: 30px;
	padding-right: 30px;
}

/* ==================================
WPFORMS STYLING
=============================== */
/* Spacer styling */
.mwp-wp-hidden-field input,
.mwp-wp-hidden-field label,
.site_url_hidden {
	display: none !important;
}

/* Button styles */
.wpforms-submit {
	height: 30px !important;
}

/* ==================================
MWP AUDIT FORM
=============================== */
.mwp-audit-form-submit button:disabled {
	cursor: not-allowed;
}

.mwp-audit-form-submit button:disabled:hover {
	background: var(--button-gradient);
	border-color: var(--color-secondary);
	transform: none;
	box-shadow: none;
}

/* ==================================
MWP AUDIT REPORT
=============================== */
/* Style the form */
.mwp-audit-form-wrap p {
	margin: 0;
}

/* =============================== */
/* Styles for report */
/* Center titles in audit report */
.mwp-audit-title {
	text-align: center;
}

/* Create a row for Asset Performance */
@media (min-width: 1025px) {

	.mwp-audit-results-category,
	.mwp-audit-content-wordpress,
	.mwp-audit-content-assets {
		display: flex;
		gap: 30px;
		flex-wrap: wrap;
		align-items: stretch;
	}

	.mwp-audit-results-group,
	.mwp-audit-content-wp-software,
	.mwp-audit-content-wp-access,
	.mwp-audit-content-wp-privacy,
	.mwp-audit-content-images,
	.mwp-audit-content-css,
	.mwp-audit-content-js {
		flex: 1;
		display: flex;
		flex-direction: column;
	}
}

/* =============================== */
/* Styles for Audit LeadGen Report accordions */
.mwp-audit-accordion .mwp-audit-pass .mwp-accordion-heading {
	color: var(--color-green) !important;
}

.mwp-accordion.active .mwp-audit-fail .mwp-accordion-heading,
.mwp-audit-fail .mwp-accordion-heading {
	color: var(--color-red) !important;
}

/* ==================================
PMPRO STYLES
=============================== */
/* Main container styles */
.pmpro {
	border: none !important;
}
/* Remove form borders/spacing */
.pmpro_form_fieldset {
	border: none;
	margin: 0;
	padding: 0;
}

/* PMPro tags */
.pmpro_tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	text-wrap: nowrap;
	background-color: unset;
	border: 1px solid var(--color-accent);
	border-radius: var(--border-radius-pill);
	height: var(--theme-button-min-height);
	padding: var(--theme-button-padding);
}

.pmpro_tag-success {
	color: var(--color-green);
	border-color: var(--color-green);
}

.pmpro_tag-error {
	color: var(--color-red);
	border-color: var(--color-red);
}

.pmpro_tag-alert {
	color: var(--color-yellow);
	border-color: var(--color-yellow);
}

/* PMPro messages */
.pmpro_message {
	background-color: unset;
	border: unset;
	color: unset;
	font-weight: 400;
	margin: 0;
	padding: 0;
}

.pmpro_message.pmpro_success {
	background-color: unset;
	color: var(--color-green);
}

.pmpro_message.pmpro_error {
	background-color: unset;
	color: var(--color-red);
	line-height: 1;
}

.pmpro_message.pmpro_alert {
	background-color: unset;
	color: var(--color-yellow);
}

.pmpro_message a {
	color: var(--pmpro--color--info-link);
	text-decoration: underline;
}

.pmpro_success a {
	color: var(--color-green);
}

.pmpro_error a {
	color: var(--color-red);
}

.pmpro_alert a {
	color: var(--color-yellow);
}

/* PMPro tables */
.pmpro_table,
.pmpro_table tr,
.pmpro_table td,
.pmpro_table th {
	background-color: var(--color-dark-black);
	border: var(--border-dotted-blue);
}

/* Submit button styling */
#pmpro_submit_span {
	display: flex;
	align-items: center;
	gap: 15px;
}

/* Submit button locked at checkout */
.mwp-locked {
	pointer-events: none !important;
	opacity: 0.6 !important;
	cursor: not-allowed !important;
}

/* Combined TOS styling */
#pmpro_combined_tos_fields .pmpro_form_field {
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
	margin-top: -0.3125em;
	margin-bottom: -0.3125em;
}

#pmpro_combined_tos_fields input[type="checkbox"] {
	margin-top: 0.3em;
	flex-shrink: 0;
}

/* Change 'required' asterisk color */
.pmpro_asterisk abbr,
.pmpro_asterisk abbr[title] {
	color: var(--color-red);
}

/* Style the Login page */
#pmpro_login .pmpro_card.pmpro_login_wrap {
	margin-left: -30px;
	margin-right: -30px;
}

#pmpro_login #loginform p,
#pmpro_login .pmpro_card_actions {
	line-height: 1;
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
}

#pmpro_login #loginform p {
	margin-bottom: 15px;
}

#pmpro_login #loginform div.pmpro_form_field-password-toggle button {
	color: var(--color-accent);
	border: 0;
	background: none;
}

#pmpro_login #loginform div.pmpro_form_field-password-toggle button .pmpro_icon.pmpro_icon-eye svg {
	stroke: var(--color-accent);
}

#pmpro_login #loginform p.login-remember {
	line-height: 1;
}

#pmpro_login #loginform p.login-submit {
	margin-top: 30px;
}

#pmpro_login .pmpro_card_actions {
	margin: 0;
	border: 0;
}

/* Style the Account page */
#pmpro_account-profile,
#pmpro_account-membership,
#pmpro_account-orders {
	margin-left: -30px;
	margin-right: -30px;
}

#pmpro_account-profile .pmpro_section_title {
	line-height: 1;
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_account-profile .pmpro_card_title,
#pmpro_account-profile .pmpro_card_content .pmpro_list .pmpro_list_item,
#pmpro_account-profile .pmpro_card_actions {
	line-height: 1;
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_account-membership {
	margin-top: 60px;
}

#pmpro_account-membership .pmpro_section_title,
#pmpro_account-membership .pmpro_card_title,
#pmpro_account-membership .pmpro_card_actions,
#pmpro_account-membership .pmpro_card_content:not(:has(.pmpro_list .pmpro_list_item)),
#pmpro_account-membership .pmpro_card_content:has(.pmpro_list .pmpro_list_item) .pmpro_list .pmpro_list_item {
	line-height: 1;
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_account-membership .pmpro_card_content:not(:has(.pmpro_list .pmpro_list_item)) {
	display: none;
}

#pmpro_account-orders {
	margin-top: 60px;
}

#pmpro_account-orders .pmpro_section_title,
#pmpro_account-orders .pmpro_card_title {
	line-height: 1;
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_account-orders .pmpro_card_content {
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_account-orders .pmpro_card_actions {
	line-height: 1;
	border-top: var(--border-dotted-dark-blue);
	margin-top: 30px;
	padding-left: 30px;
	padding-right: 30px;
}

.pmpro .pmpro_section:last-of-type .pmpro_card_actions:last-of-type {
	margin-bottom: 0 !important;
	border-bottom: unset !important;
}

/* Style the Profile page */
#pmpro_member_profile_edit-account-information,
#pmpro_form_fieldset-domain-names {
	margin-left: -30px;
	margin-right: -30px;
}

#pmpro_member_profile_edit-account-information > :last-child {
	margin-bottom: 0;
}

#pmpro_member_profile_edit-account-information {
	margin-bottom: 60px;
}

#pmpro_member_profile_edit-account-information .pmpro_form_field {
	line-height: 1;
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_member_profile_edit-account-information .pmpro_form_legend,
#pmpro_form_fieldset-domain-names .pmpro_form_legend {
	display: inline-flex;
	width: 100%;
	margin: 0;
	padding: 0;
	padding-bottom: 30px;
}

#pmpro_member_profile_edit-account-information .pmpro_form_heading,
#pmpro_form_fieldset-domain-names .pmpro_form_heading {
	display: inline-flex;
	width: 100%;
	line-height: 1;
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
}

#pmpro_form_fieldset-domain-names .pmpro_form_heading {
	border-top: var(--border-dotted-dark-blue);
}

#pmpro_form_fieldset-domain-names .pmpro_form_field-allowed_domains {
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 30px;
}

.pmpro_spacer {
	display: none;
}

.pmpro_spacer {
	display: none;
}

/* Change style for submit buttons */
#member-profile-edit .pmpro_form_submit,
#pmpro_change_password .pmpro_form_submit,
#pmpro_cancel .pmpro_form_submit {
	display: inline-flex;
	width: calc(100% + 60px);
	align-items: center;
	gap: 15px;
	border-top: var(--border-dotted-dark-blue);
	margin-left: -30px;
	margin-right: -90px;
	padding-left: 30px;
	padding-right: 30px;
}

/* Change style for cancel button */
.pmpro_btn.pmpro_btn-cancel {
	background: transparent;
	color: var(--color-red);
	text-decoration: underline;
	border: none !important;
}

.pmpro_btn.pmpro_btn-cancel:hover {
	transform: none;
}

/* Style the Order pages */
#pmpro_order_single,
#pmpro_order_list {
	margin-left: -30px;
	margin-right: -30px;
}
 
#pmpro_order_single .pmpro_card_actions,
#pmpro_order_list .pmpro_section_title  {
	line-height: 1;
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_order_single .pmpro_card_title {
	display: flex;
	align-items: center;
	gap: 15px;
	line-height: 1;
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 30px;
}
 
#pmpro_order_single .pmpro_card_actions,
#pmpro_order_list .pmpro_section_title  {
	line-height: 1;
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_order_list .pmpro_card_content {
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-bottom: 15px;
}

#pmpro_order_single .pmpro_list_item {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 15px;
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
}

#pmpro_order_single .pmpro_list_item .pmpro_list_item_label::after {
	content: ":";
}

#pmpro_order_single #pmpro_order_single-items {
	margin-bottom: 15px;
	border-top: var(--border-dotted-dark-blue);
	border-bottom: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
}

.pmpro .pmpro_actions_nav {
	line-height: 1;
	border-top: var(--border-dotted-dark-blue);
	padding-left: 30px;
	padding-right: 30px;
	margin-top: 30px;
	margin-left: -30px;
	margin-right: -30px;
}

/* Change style for print button on order confirmation page */
.pmpro_btn-plain.pmpro_btn-print {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	line-height: 1;
	height: 30px;
	gap: 0.4em;
	color: var(--color-accent);
	background: var(--button-gradient);
	border: var(--theme-button-border);
	border-radius: var(--border-radius-pill);
	padding: var(--theme-button-padding);
	transition: all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.pmpro_btn-plain.pmpro_btn-print:hover {
	transform: var(--theme-button-transform, translate3d(0, -3px, 0));
	background: var(--button-hover-gradient);
	border-color: var(--theme-button-border-hover-color);
	transition: all .12s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

/* Customize minimal header for checkout page */
body.pmpro-checkout .ct-header [data-column="middle"],
body.pmpro-checkout .ct-header [data-column="end"] {
	display: none !important;
}

/* Remove top row of footer for checkout page */
body.pmpro-checkout .ct-footer [data-row="middle"] {
	display: none !important;
}

body.pmpro-checkout .ct-footer [data-row="bottom"] {
	border-top: var(--border-dotted-blue);
}