/*
	SBA50K Modern Design Layer — v2
	--------------------------------------------------------------------
	Loaded AFTER style.css and the customizer CSS. Modernizes the visual
	layer (tokens, typography, buttons, cards, sections, header, footer,
	forms) WITHOUT touching Genesis structure or existing markup.
	v2 adds: semantic surface tokens, DARK MODE (auto via OS preference
	+ manual toggle persisted in localStorage), refined palette, header
	fixes (no italics, flex price banner), SVG checkmarks.

	Rollback = dequeue this file in functions.php.

	Contents:
	- Design Tokens (light)
	- Dark Mode Tokens & Overrides
	- Base Typography
	- Links & Focus States
	- Buttons (global unification)
	- Top Banner
	- Site Header & Navigation
	- Hero (welcome-section)
	- Feature Icons Row (solutions-list)
	- Price CTA Banner (cta-wrap / cta-order-now)
	- Countdown (HurryTimer)
	- Section Rhythm & Titles
	- Steps (steps-section)
	- Benefits (SVG checkmarks)
	- Testimonials / Photos
	- Blog Cards (custompostshow + archive grid)
	- Intermediaries Cards (p_list)
	- Gravity Forms
	- Sidebar
	- Footer
	- Theme Toggle Button
	- Scroll Reveal Motion
	- Accessibility & Reduced Motion
	- Responsive
*/

/* Design Tokens — DARK IS THE DEFAULT THEME.
	The light (white) theme is fully kept: the floating toggle sets
	html[data-sba-theme="light"], persisted in localStorage.
	Pure CSS defaults — no JS required for the dark look, so screenshot
	tools, no-JS visitors and cached pages all render identically.
---------------------------------------------------------------------------- */

:root {
	/* Brand — refined for a deeper, more professional feel */
	--sba-navy: #1b4c85;
	--sba-navy-dark: #143a68;
	--sba-navy-deep: #0e2b4e;
	--sba-red: #d63a37;          /* primary CTA — less neon than the old #e3413e */
	--sba-red-hover: #a02724;

	/* Neutrals (slate scale) */
	--sba-ink: #1a2332;
	--sba-slate-700: #3d4a5c;
	--sba-slate-500: #5f6c7d;
	--sba-slate-300: #c7d0db;
	--sba-slate-200: #e2e8f0;
	--sba-slate-100: #eef2f7;
	--sba-slate-50: #f6f8fb;
	--sba-white: #ffffff;

	/* Semantic surfaces — DARK defaults */
	--sba-bg: #0d1522;                    /* page background */
	--sba-surface: #16202f;               /* cards */
	--sba-surface-2: #111a28;             /* zebra sections */
	--sba-text: #c3cddb;                  /* body text */
	--sba-heading: #edf2f9;               /* default headings */
	--sba-muted: #8fa0b5;                 /* secondary text */
	--sba-border: #263349;                /* card & input borders */
	--sba-input-bg: #111a28;
	--sba-header-bg: rgba(13, 21, 34, 0.92);
	--sba-link: #7fb0e8;
	--sba-title-accent: #8ab7ef;          /* section titles / hero heading */
	--sba-red-accent: #ff9490;            /* red text that must stay readable */
	--sba-outline-btn: #7fb0e8;           /* secondary button outline/text */
	--sba-footer-bg: #0a111c;

	/* Typography */
	--sba-font-heading: "Manrope", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	--sba-font-body: "Inter", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;

	/* Elevation */
	--sba-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.3);
	--sba-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45), 0 2px 4px rgba(0, 0, 0, 0.3);
	--sba-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.5), 0 4px 8px rgba(0, 0, 0, 0.35);
	--sba-shadow-focus: 0 0 0 3px rgba(127, 176, 232, 0.4);

	/* Shape & motion */
	--sba-radius-sm: 8px;
	--sba-radius: 12px;
	--sba-radius-lg: 16px;
	--sba-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--sba-t-fast: 200ms;
	--sba-t-med: 300ms;

	color-scheme: dark;
}

/* Light (white) theme — applied when the visitor picks it with the toggle */

html[data-sba-theme="light"] {
	--sba-bg: #ffffff;
	--sba-surface: #ffffff;
	--sba-surface-2: #f6f8fb;
	--sba-text: #3d4a5c;
	--sba-heading: #1a2332;
	--sba-muted: #5f6c7d;
	--sba-border: #e2e8f0;
	--sba-input-bg: #ffffff;
	--sba-header-bg: rgba(255, 255, 255, 0.96);
	--sba-link: #1b4c85;
	--sba-title-accent: #1b4c85;
	--sba-red-accent: #b52e2b;
	--sba-outline-btn: #1b4c85;
	--sba-footer-bg: #0e2b4e;
	--sba-shadow-sm: 0 1px 2px rgba(14, 43, 78, 0.06), 0 1px 3px rgba(14, 43, 78, 0.08);
	--sba-shadow-md: 0 4px 12px rgba(14, 43, 78, 0.08), 0 2px 4px rgba(14, 43, 78, 0.05);
	--sba-shadow-lg: 0 12px 32px rgba(14, 43, 78, 0.14), 0 4px 8px rgba(14, 43, 78, 0.06);
	--sba-shadow-focus: 0 0 0 3px rgba(27, 76, 133, 0.35);
	color-scheme: light;
}

/* Non-token dark defaults, with light-theme resets */

.custom-logo {
	/* PNG logo has navy text — render it white on dark surfaces */
	filter: brightness(0) invert(1);
}

html[data-sba-theme="light"] .custom-logo {
	filter: none;
}

.hurrytimer-timer-digit {
	color: var(--sba-title-accent) !important; /* plugin color is navy — unreadable on dark */
}

img {
	opacity: 0.94; /* soften bright photos on dark surfaces */
}

html[data-sba-theme="light"] img {
	opacity: 1;
}

/* Base Typography
---------------------------------------------------------------------------- */

body {
	background-color: var(--sba-bg);
	font-family: var(--sba-font-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--sba-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: background-color var(--sba-t-med) var(--sba-ease), color var(--sba-t-med) var(--sba-ease);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--sba-font-heading);
	color: var(--sba-heading);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

h1 { font-size: clamp(32px, 4.5vw, 46px); }
h2 { font-size: clamp(26px, 3.5vw, 36px); }
h3 { font-size: clamp(20px, 2.5vw, 26px); }
h4 { font-size: 19px; }

::selection {
	background: var(--sba-navy);
	color: var(--sba-white);
}

/* Legacy font-stack cleanup: style.css still names "Source Sans Pro" /
   "Libre Baskerville" on these — those fonts are no longer loaded, so
   re-point them at the new stacks for consistency. */
input,
select,
textarea,
blockquote cite,
figcaption,
.gallery-caption,
.wp-caption-text,
.authority-subtitle,
.entry-meta > *,
.ab-block-post-grid .ab-block-post-grid-header .ab-block-post-grid-byline,
.archive-pagination a,
.comment-header a,
.comment-reply,
.enews-widget p:first-of-type,
.enews-widget .enews form + p,
.black-bg p,
.more-link-wrap a:not(.more-link) {
	font-family: var(--sba-font-body);
}

/* Retire the remaining dated italic treatments across the site */
h2.landing-head,
h2.select-state-head,
h4.header-text,
p.header-text,
.welcome-section.wp-block-media-text__content h1.entry-title,
.landing-page .section-wrap .landing-section-titles h2.section-title,
.section-wrap h2.section-title,
.cta-content,
.cta-content p,
.cta-price,
.cta-order-now p,
.cta-order-now h3,
.pricing-bottom p,
ul.solutions-list li,
a.link-text,
.sidebar h3.widgettitle,
p.red-big-txt,
strong.red-big-txt,
span.text-red {
	font-style: normal;
	letter-spacing: 0;
}

h2.select-state-head {
	color: var(--sba-title-accent);
	font-size: 26px;
	font-weight: 800;
}

span.text-red,
p.red-big-txt,
strong.red-big-txt {
	color: var(--sba-red-accent);
}

/* Links & Focus States
---------------------------------------------------------------------------- */

a {
	color: var(--sba-link);
	transition: color var(--sba-t-fast) var(--sba-ease);
}

a:focus,
a:hover {
	color: var(--sba-red-accent);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
	outline: none;
	box-shadow: var(--sba-shadow-focus);
	border-radius: var(--sba-radius-sm);
}

/* Buttons — one premium system for every button on the site
---------------------------------------------------------------------------- */

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.more-link,
.genesis-nav-menu .highlight a,
.wp-block-button.block-content-indent a.wp-block-button__link,
.cta-wrap .wp-block-button.block-content-indent a.wp-block-button__link,
.cta-order-now .wp-block-button.block-content-indent a.wp-block-button__link,
.welcome-section .wp-block-button.block-content-indent a.wp-block-button__link,
.landing-form-wrap .gform_wrapper .gform_footer input.button,
.landing-from input.submit,
input.tml-button,
button.button.woocommerce-form-login__submit,
.woocommerce-checkout-payment button#place_order,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button,
.gform_wrapper input.gform_button {
	font-family: var(--sba-font-heading);
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	border-radius: var(--sba-radius-sm);
	border: 2px solid transparent;
	padding: 16px 28px;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	transition:
		background-color var(--sba-t-fast) var(--sba-ease),
		border-color var(--sba-t-fast) var(--sba-ease),
		color var(--sba-t-fast) var(--sba-ease),
		box-shadow var(--sba-t-med) var(--sba-ease),
		transform var(--sba-t-fast) var(--sba-ease);
	transform: translateY(0);
}

/* Primary (red) — conversion buttons */
input[type="submit"],
.button.primary,
.more-link,
.wp-block-button.block-content-indent a.wp-block-button__link,
.welcome-section .wp-block-button.block-content-indent a.wp-block-button__link,
.cta-wrap .wp-block-button.block-content-indent a.wp-block-button__link,
.cta-order-now .wp-block-button.block-content-indent a.wp-block-button__link,
.landing-form-wrap .gform_wrapper .gform_footer input.button,
.landing-from input.submit,
input.tml-button,
button.button.woocommerce-form-login__submit,
.woocommerce-checkout-payment button#place_order,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button {
	background: var(--sba-red) !important;
	border-color: var(--sba-red) !important;
	color: var(--sba-white) !important;
	box-shadow: var(--sba-shadow-sm);
}

input[type="submit"]:hover,
input[type="submit"]:focus,
.button.primary:hover,
.button.primary:focus,
.more-link:hover,
.more-link:focus,
.wp-block-button.block-content-indent a.wp-block-button__link:hover,
.wp-block-button.block-content-indent a.wp-block-button__link:focus,
.welcome-section .wp-block-button.block-content-indent a.wp-block-button__link:hover,
.welcome-section .wp-block-button.block-content-indent a.wp-block-button__link:focus,
.cta-wrap .wp-block-button.block-content-indent a.wp-block-button__link:hover,
.cta-wrap .wp-block-button.block-content-indent a.wp-block-button__link:focus,
.cta-order-now .wp-block-button.block-content-indent a.wp-block-button__link:hover,
.cta-order-now .wp-block-button.block-content-indent a.wp-block-button__link:focus,
.landing-form-wrap .gform_wrapper .gform_footer input.button:hover,
.landing-from input.submit:hover,
input.tml-button:hover,
button.button.woocommerce-form-login__submit:hover,
.woocommerce-checkout-payment button#place_order:hover,
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer button:hover {
	background: var(--sba-red-hover) !important;
	border-color: var(--sba-red-hover) !important;
	color: var(--sba-white) !important;
	box-shadow: var(--sba-shadow-lg);
	transform: translateY(-2px);
}

/* Secondary (outline) — replaces every stock-blue #000cff button */
button,
input[type="button"],
input[type="reset"],
.button,
.business-plan-form button.add_repeater_item.add_repeater_item_text,
.business-plan-form button.remove_repeater_item.remove_repeater_item_text {
	background-color: transparent;
	border-color: var(--sba-outline-btn);
	color: var(--sba-outline-btn);
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
a.button:hover,
a.button:focus,
.business-plan-form button.add_repeater_item.add_repeater_item_text:hover,
.business-plan-form button.remove_repeater_item.remove_repeater_item_text:hover {
	background: var(--sba-outline-btn);
	border-color: var(--sba-outline-btn);
	color: var(--sba-bg);
	box-shadow: var(--sba-shadow-md);
	transform: translateY(-2px);
}

.button.secondary {
	background-color: var(--sba-ink);
	border-color: var(--sba-ink);
	color: var(--sba-white);
}

/* Stock-blue link accents → brand */
.ab-block-post-grid a.ab-block-post-grid-more-link,
a.link-text {
	color: var(--sba-link);
}

/* "CREDIT SCORE is LESS Important" style callout link — calmer, no italic */
a.link-text {
	font-size: 22px;
	font-weight: 700;
	font-family: var(--sba-font-heading);
	color: var(--sba-red-accent);
}

/* Top Banner
---------------------------------------------------------------------------- */

.authority-top-banner {
	background: linear-gradient(90deg, var(--sba-navy-deep) 0%, var(--sba-navy) 100%);
	font-family: var(--sba-font-body);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	padding: 10px 48px;
}

.authority-top-banner a {
	color: var(--sba-white);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	transition: border-color var(--sba-t-fast) var(--sba-ease);
}

.authority-top-banner a:hover {
	border-color: var(--sba-white);
	color: var(--sba-white);
}

/* Site Header & Navigation
---------------------------------------------------------------------------- */

.site-header {
	background: var(--sba-header-bg);
	-webkit-backdrop-filter: saturate(180%) blur(8px);
	backdrop-filter: saturate(180%) blur(8px);
	border-bottom: 1px solid var(--sba-border);
	box-shadow: none;
	transition: box-shadow var(--sba-t-med) var(--sba-ease), background-color var(--sba-t-med) var(--sba-ease);
}

.site-header.sba-scrolled {
	box-shadow: var(--sba-shadow-md);
}

.wp-custom-logo .title-area .site-title,
.wp-custom-logo .title-area .site-description {
	display: none;
}

/* Widen nav so the Log In pill fits on one line */
.site-header .nav-primary {
	max-width: 1080px;
	background: transparent;
}

.genesis-nav-menu {
	font-family: var(--sba-font-heading);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.genesis-nav-menu a {
	color: var(--sba-heading);
	transition: color var(--sba-t-fast) var(--sba-ease);
}

.site-header .genesis-nav-menu a span {
	position: relative;
	padding-bottom: 4px;
}

.site-header .genesis-nav-menu a span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--sba-red);
	border-radius: 2px;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--sba-t-med) var(--sba-ease);
}

/* Hover/focus only — WP marks several items "current" on the login page,
   which produced multiple permanent underlines. */
.site-header .genesis-nav-menu a:hover span::after,
.site-header .genesis-nav-menu a:focus span::after {
	transform: scaleX(1);
}

.site-header .genesis-nav-menu a:hover,
.site-header .genesis-nav-menu a:focus,
.genesis-nav-menu .current-menu-item > a {
	color: var(--sba-link);
}

/* "Log In" — last item styled as an outline pill CTA */
.site-header .genesis-nav-menu > li:last-child > a {
	border: 2px solid var(--sba-outline-btn);
	border-radius: var(--sba-radius-sm);
	color: var(--sba-outline-btn);
	padding: 9px 20px;
	margin-left: 8px;
	transition:
		background-color var(--sba-t-fast) var(--sba-ease),
		color var(--sba-t-fast) var(--sba-ease),
		box-shadow var(--sba-t-fast) var(--sba-ease);
}

.site-header .genesis-nav-menu > li:last-child > a:hover,
.site-header .genesis-nav-menu > li:last-child > a:focus {
	background: var(--sba-outline-btn);
	color: var(--sba-bg);
	box-shadow: var(--sba-shadow-md);
}

.site-header .genesis-nav-menu > li:last-child > a span::after {
	display: none;
}

/* Mobile menu — theme-aware (style.css hardcodes white bg / navy border) */
.menu-toggle,
.sub-menu-toggle {
	background-color: var(--sba-surface);
	border-color: var(--sba-outline-btn);
	color: var(--sba-outline-btn);
	border-radius: var(--sba-radius-sm);
}

.menu-toggle:hover,
.menu-toggle:focus,
.sub-menu-toggle:hover,
.sub-menu-toggle:focus {
	background: var(--sba-outline-btn);
	border-color: var(--sba-outline-btn);
	color: var(--sba-bg);
	box-shadow: none;
	transform: none;
}

/* Dark-mode coverage for the collapsed mobile menu panel */
.site-header .genesis-nav-menu,
.site-header .nav-primary .genesis-nav-menu {
	background: transparent;
}

/* Hero (welcome-section)
---------------------------------------------------------------------------- */

.welcome-section.wp-block-media-text__content h1.entry-title {
	color: var(--sba-title-accent);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 800;
	line-height: 1.15;
	text-transform: uppercase;
}

.welcome-section p {
	font-size: 18px;
	line-height: 1.6;
}

/* Red subheading: keep the accent, retire the italic + letter-spacing */
.welcome-section h2.block-content-indent {
	color: var(--sba-red-accent);
	font-style: normal;
	font-weight: 600;
	font-size: clamp(19px, 2.2vw, 24px);
	letter-spacing: 0;
	line-height: 1.45;
}

/* "Credit Score Of 550 Or Above" eyebrow line */
.welcome-section p.step-detail {
	font-family: var(--sba-font-heading);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sba-muted);
}

/* Give the hero video a premium frame (Vimeo iframe lives in su-column-inner) */
.welcome-section iframe,
.wp-block-media-text__media video,
.wp-block-media-text__media img,
.wp-block-media-text__media iframe {
	border-radius: var(--sba-radius-lg);
	box-shadow: var(--sba-shadow-lg);
}

/* Sub-hero headline strip */
h4.header-text,
p.header-text {
	font-family: var(--sba-font-heading);
	color: var(--sba-title-accent);
}

/* Feature Icons Row (solutions-list) — PNG icons replaced with crisp SVG
---------------------------------------------------------------------------- */

ul.solutions-list li {
	background-color: var(--sba-surface);
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius);
	padding: 20px 18px 20px 64px;
	box-shadow: var(--sba-shadow-sm);
	transition:
		box-shadow var(--sba-t-med) var(--sba-ease),
		transform var(--sba-t-med) var(--sba-ease);
	background-repeat: no-repeat;
	background-position: 18px center;
	background-size: 32px 32px;
	font-family: var(--sba-font-heading);
	font-weight: 700;
	color: var(--sba-heading);
}

ul.solutions-list li:hover {
	box-shadow: var(--sba-shadow-md);
	transform: translateY(-3px);
}

/* Lucide-style stroked SVG icons (data URIs, zero requests).
   Stroke #4e83c4 stays visible on light AND dark cards. */
ul.solutions-list li.graph {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%234e83c4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v16a2 2 0 0 0 2 2h16'/%3E%3Cpath d='m19 9-5 5-4-4-3 3'/%3E%3C/svg%3E");
}

ul.solutions-list li.tag {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%234e83c4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z'/%3E%3Ccircle cx='7.5' cy='7.5' r='.5' fill='%234e83c4'/%3E%3C/svg%3E");
}

ul.solutions-list li.thumb {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%234e83c4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v12'/%3E%3Cpath d='M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z'/%3E%3C/svg%3E");
}

ul.solutions-list li.timer {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%234e83c4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='10' x2='14' y1='2' y2='2'/%3E%3Cline x1='12' x2='15' y1='14' y2='11'/%3E%3Ccircle cx='12' cy='14' r='8'/%3E%3C/svg%3E");
}

/* Price CTA Banner (cta-wrap / cta-order-now)
   Flexbox layout so the button NEVER collides with the text (the old
   float:right + negative margin caused overlaps mid-animation/resize).
---------------------------------------------------------------------------- */

.cta-wrap,
.cta-order-now {
	background: linear-gradient(120deg, var(--sba-navy) 0%, var(--sba-navy-dark) 100%);
	border-radius: var(--sba-radius-lg);
	box-shadow: var(--sba-shadow-lg);
	padding: 36px 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 24px;
}

.cta-wrap .cta-content {
	display: block;
	font-style: normal;
	color: var(--sba-white);
}

.cta-wrap .cta-content p {
	font-family: var(--sba-font-heading);
	font-weight: 600;
	font-size: 18px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 6px;
}

.cta-price {
	font-family: var(--sba-font-heading);
	font-weight: 800;
	font-size: clamp(30px, 3.5vw, 44px);
	font-style: normal;
	color: var(--sba-white);
	line-height: 1.15;
}

.cta-price del {
	opacity: 0.65;
	font-weight: 600;
}

.cta-wrap .wp-block-button.block-content-indent,
.cta-order-now .wp-block-button.block-content-indent {
	float: none;
	margin: 0;
	flex-shrink: 0;
}

.cta-order-now h3,
.cta-order-now p {
	color: var(--sba-white);
	font-style: normal;
}

.left-cta-cont {
	color: var(--sba-white);
}

.pricing-bottom strong {
	color: var(--sba-title-accent);
}

/* Countdown (HurryTimer digits as cards)
---------------------------------------------------------------------------- */

.hurrytimer-timer-block {
	background: var(--sba-surface);
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius);
	box-shadow: var(--sba-shadow-sm);
	padding: 10px 8px;
	min-width: 72px;
}

.hurrytimer-timer-digit {
	font-family: var(--sba-font-heading);
	font-weight: 800;
}

.hurrytimer-timer-label {
	font-family: var(--sba-font-body);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sba-muted);
}

.hurrytimer-timer-sep {
	color: var(--sba-slate-300);
	font-weight: 700;
}

.hurrytimer-cdt__headline,
.hurrytimer-headline {
	font-family: var(--sba-font-heading);
	font-weight: 700;
	color: var(--sba-heading);
}

/* Section Rhythm & Titles
---------------------------------------------------------------------------- */

.wp-block-media-text__content.section-wrap {
	padding-top: 72px;
	padding-bottom: 72px;
}

.section-wrap h2.section-title,
.wp-block-media-text__content.solutions-section h2 {
	font-family: var(--sba-font-heading);
	color: var(--sba-title-accent);
	font-weight: 800;
	font-style: normal;
	letter-spacing: 0;
}

.wp-block-media-text__content.solutions-section h2 span {
	color: var(--sba-red-accent);
}

h3.section-sub-title {
	color: var(--sba-muted);
	font-weight: 600;
}

/* Theme-aware section separators (style.css hardcodes #e1e1e1 / #eee) */
hr,
ul.solutions-list,
.wp-block-media-text__content.welcome-section {
	border-bottom-color: var(--sba-border);
}

.landing-section-titles h3.section-sub-title::after {
	border-color: var(--sba-border);
}

/* Zebra background to break up the scroll */
.wp-block-media-text__content.section-wrap.steps-section,
.wp-block-media-text__content.section-wrap.Maicroloan-section {
	background: var(--sba-surface-2);
}

.Maicroloan-section p,
.section-wrap p {
	color: var(--sba-text);
}

/* Steps (01 / 02 / 03)
---------------------------------------------------------------------------- */

.su-column.su-column-size-1-3.step-wrap {
	background: var(--sba-surface);
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius-lg);
	box-shadow: var(--sba-shadow-sm);
	padding: 32px 24px;
	transition:
		box-shadow var(--sba-t-med) var(--sba-ease),
		transform var(--sba-t-med) var(--sba-ease);
}

.su-column.su-column-size-1-3.step-wrap:hover {
	box-shadow: var(--sba-shadow-lg);
	transform: translateY(-4px);
}

.step-no {
	font-family: var(--sba-font-heading);
	color: var(--sba-red-accent);
	font-weight: 800;
	letter-spacing: 0;
}

.step-no::after {
	background: var(--sba-red-accent);
	border-color: var(--sba-red-accent);
}

h3.step-name {
	font-family: var(--sba-font-heading);
	color: var(--sba-title-accent);
	font-weight: 800;
}

p.step-detail {
	color: var(--sba-text);
}

/* Benefits — replace the broken "sui" icon-font checks with inline SVG
---------------------------------------------------------------------------- */

i.sui.sui-check {
	font-size: 0 !important;            /* hides the missing-glyph box */
	display: inline-block;
	width: 20px;
	height: 20px;
	vertical-align: -4px;
	margin-right: 8px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23d63a37' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.801 10A10 10 0 1 1 17 3.335'/%3E%3Cpath d='m9 11 3 3L22 4'/%3E%3C/svg%3E") center / contain no-repeat;
}

i.sui.sui-check::before {
	content: none !important;
}

.su-list.benefits-list ul li,
.landing-list.su-list ul li {
	font-family: var(--sba-font-body);
	font-weight: 600;
	color: var(--sba-text);
}

/* Testimonials / Photos
---------------------------------------------------------------------------- */

.section-wrap .su-column-inner img,
.entry-content .su-column img {
	border-radius: var(--sba-radius);
	box-shadow: var(--sba-shadow-md);
}

/* Blog Cards (su-posts custompostshow — homepage; grid entries — archive)
---------------------------------------------------------------------------- */

.custompostshow .su-column {
	background: var(--sba-surface);
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius-lg);
	box-shadow: var(--sba-shadow-sm);
	padding: 28px 24px;
	transition:
		box-shadow var(--sba-t-med) var(--sba-ease),
		transform var(--sba-t-med) var(--sba-ease);
}

.custompostshow .su-column:hover {
	box-shadow: var(--sba-shadow-lg);
	transform: translateY(-4px);
}

/* Shortcodes-Ultimate injects min-height:305px after this file loads,
   which leaves a large empty block inside each card — hence !important. */
.custompostshow .su-column-inner {
	min-height: 0 !important;
	height: auto !important;
}

.custompostshow h2.posttitle {
	font-size: 19px;
	line-height: 1.35;
	color: var(--sba-title-accent);
	font-style: normal;
	text-transform: none;
	margin-top: 0;
	margin-bottom: 8px;
}

.custompostshow a.posttitle {
	text-decoration: none;
}

.custompostshow a.posttitle:hover h2.posttitle {
	color: var(--sba-red-accent);
}

.custompostshow .post-meta {
	font-size: 13px;
	color: var(--sba-muted);
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin: 10px 0 14px;
}

.custompostshow .post-meta .dashicons {
	color: var(--sba-red-accent);
	font-size: 15px;
	width: 15px;
	height: 15px;
	line-height: 1.2;
}

/* Archive / blog listing entries as cards */
.blog .content .entry,
.archive .content .entry,
.search .content .entry {
	background: var(--sba-surface);
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius-lg);
	box-shadow: var(--sba-shadow-sm);
	padding: 36px;
	transition: box-shadow var(--sba-t-med) var(--sba-ease);
}

.blog .content .entry:hover,
.archive .content .entry:hover {
	box-shadow: var(--sba-shadow-md);
}

.blog .entry-title a,
.archive .entry-title a {
	color: var(--sba-title-accent);
}

.blog .entry-title a:hover,
.archive .entry-title a:hover {
	color: var(--sba-red-accent);
}

/* Singular pages readable in dark mode */
.entry,
.entry-content {
	color: var(--sba-text);
}

.entry .post-image,
.entry-content img.alignleft,
.entry-content img.alignright,
.entry-content img.aligncenter {
	border-radius: var(--sba-radius);
}

/* Intermediaries Cards (p_list)
---------------------------------------------------------------------------- */

.entry-content .postlist_wrap li.post-view {
	background: var(--sba-surface);
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius);
	box-shadow: var(--sba-shadow-sm);
	transition:
		box-shadow var(--sba-t-med) var(--sba-ease),
		transform var(--sba-t-med) var(--sba-ease);
}

.entry-content .postlist_wrap li.post-view:hover {
	box-shadow: var(--sba-shadow-md);
	transform: translateY(-3px);
}

.custompost-content h3 {
	color: var(--sba-title-accent);
}

/* Gravity Forms — modern inputs
---------------------------------------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea,
.gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
.gform_wrapper select,
.gform_wrapper textarea {
	background: var(--sba-input-bg);
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius-sm);
	color: var(--sba-heading);
	font-family: var(--sba-font-body);
	font-size: 16px;
	padding: 12px 14px;
	transition:
		border-color var(--sba-t-fast) var(--sba-ease),
		box-shadow var(--sba-t-fast) var(--sba-ease);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus,
.gform_wrapper input:not([type="submit"]):not([type="button"]):focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
	border-color: var(--sba-link);
	box-shadow: var(--sba-shadow-focus);
	outline: none;
}

.gform_wrapper .gform-field-label,
.gform_wrapper .gfield_label {
	font-family: var(--sba-font-heading);
	font-weight: 700;
	color: var(--sba-heading);
}

.gform_wrapper .gfield_required_asterisk,
.gform_wrapper .gfield_required {
	color: var(--sba-red-accent);
}

.contact-heading-title,
h2.gform_title {
	font-family: var(--sba-font-heading);
	color: var(--sba-title-accent);
}

/* Sidebar
---------------------------------------------------------------------------- */

.sidebar .widget {
	background: var(--sba-surface);
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius-lg);
	box-shadow: var(--sba-shadow-sm);
}

.sidebar h3.widgettitle {
	font-family: var(--sba-font-heading);
}

/* Footer
---------------------------------------------------------------------------- */

.site-footer {
	background: var(--sba-footer-bg);
	font-family: var(--sba-font-body);
	font-size: 15px;
	letter-spacing: 0;
	line-height: 1.7;
	text-transform: none;
	padding: 0 0 28px;
}

.footer-widgets {
	background: var(--sba-footer-bg);
}

/* Footer column headings are <h3 class="heading"> (inside .site-footer) */
.site-footer h3.heading,
.site-footer .footerrowmain h3,
.footer-widgets h3.heading,
.footer-widgets h3,
.footer-widgets h4,
.footercontactheader {
	font-family: var(--sba-font-heading);
	color: var(--sba-white);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.footer-widgets,
.footer-widgets p,
.footer-widgets li,
.site-footer .footerrowmain,
.site-footer .footerrowmain p,
.site-footer .footerrowmain li,
.site-footer p.about-title,
.site-footer .aboutfooterinfo,
.site-footer .footercontactinfo,
.site-footer .footrquickinfo {
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
	line-height: 1.7;
}

/* !important: Elementor kit paragraph color otherwise wins inside the footer */
.site-footer .footerrowmain p,
.site-footer .footercontactinfo p {
	color: rgba(255, 255, 255, 0.78) !important;
}

/* !important: the Elementor kit global link color otherwise wins here */
.footer-widgets a,
.site-footer a,
.site-footer .footerrowmain a,
.site-footer .footrquickinfo ul.menu li a {
	color: rgba(255, 255, 255, 0.88) !important;
	text-decoration: none;
	transition: color var(--sba-t-fast) var(--sba-ease);
}

.footer-widgets a:hover,
.site-footer a:hover,
.site-footer .footerrowmain a:hover,
.site-footer .footrquickinfo ul.menu li a:hover {
	color: var(--sba-white) !important;
	text-decoration: underline;
}

.site-footer .footrquickinfo ul.menu {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

.site-footer .footrquickinfo ul.menu li {
	margin-bottom: 8px;
}

.site-footer .footerrowmain {
	padding-top: 48px;
	text-align: left;
}

/* Cap footer heading/text sizes — on templates without the Elementor kit
   (login, cart) these blew up to full heading scale. */
.site-footer .footerrowmain h2,
.site-footer .footerrowmain h3,
.site-footer .footerrowmain h4,
.site-footer .footerrowmain h5 {
	font-size: 18px;
	line-height: 1.4;
	color: var(--sba-white);
	margin-bottom: 16px;
}

.site-footer .footercontactinfo p,
.site-footer .footercontactinfo h4 {
	font-size: 14px !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 600;
	line-height: 1.6;
}

/* Copyright band — kill the bright blue background */
.su-row.footerrowmaincopy,
.site-footer .footerrowmaincopy,
.copyrighttextdiv {
	background: transparent !important;
}

.su-row.footerrowmaincopy,
.copyrighttextdiv {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 18px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
}

.site-footer .nav-secondary .genesis-nav-menu a {
	color: rgba(255, 255, 255, 0.85);
}

.site-footer .nav-secondary .genesis-nav-menu a:hover {
	color: var(--sba-white);
}

/* Theme Toggle Button (injected by sba50k-modern.js)
---------------------------------------------------------------------------- */

.sba-theme-toggle {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 9999;
	width: 46px;
	height: 46px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--sba-border);
	background: var(--sba-surface);
	color: var(--sba-heading);
	cursor: pointer;
	box-shadow: var(--sba-shadow-md);
	transition:
		box-shadow var(--sba-t-fast) var(--sba-ease),
		transform var(--sba-t-fast) var(--sba-ease),
		background-color var(--sba-t-med) var(--sba-ease);
}

.sba-theme-toggle:hover,
.sba-theme-toggle:focus {
	background: var(--sba-surface);
	border-color: var(--sba-border);
	color: var(--sba-heading);
	box-shadow: var(--sba-shadow-lg);
	transform: translateY(-2px);
}

.sba-theme-toggle svg {
	width: 22px;
	height: 22px;
	display: block;
}

/* Dark is default → show the sun (switch to light); light shows the moon */
.sba-theme-toggle .sba-icon-sun { display: block; }
.sba-theme-toggle .sba-icon-moon { display: none; }

html[data-sba-theme="light"] .sba-theme-toggle .sba-icon-sun { display: none; }
html[data-sba-theme="light"] .sba-theme-toggle .sba-icon-moon { display: block; }

/* WooCommerce (cart / checkout) — theme-aware buttons & table
   The plugin stylesheet loads after this file, hence the !important. */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: transparent !important;
	border: 2px solid var(--sba-outline-btn) !important;
	color: var(--sba-outline-btn) !important;
	border-radius: var(--sba-radius-sm) !important;
	font-family: var(--sba-font-heading) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--sba-outline-btn) !important;
	color: var(--sba-bg) !important;
}

.woocommerce a.checkout-button,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	background: var(--sba-red) !important;
	border-color: var(--sba-red) !important;
	color: var(--sba-white) !important;
}

.woocommerce a.checkout-button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: var(--sba-red-hover) !important;
	border-color: var(--sba-red-hover) !important;
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	background: var(--sba-surface) !important;
	border-color: var(--sba-border) !important;
	color: var(--sba-muted) !important;
}

.woocommerce table.shop_table,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	border-color: var(--sba-border) !important;
	color: var(--sba-text);
}

.woocommerce table.shop_table th,
.woocommerce .cart_totals h2,
.woocommerce-cart .cart-collaterals .cart_totals h2 {
	color: var(--sba-heading);
}

/* Accessibility & Reduced Motion
---------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Responsive
---------------------------------------------------------------------------- */

@media (max-width: 1220px) {

	.site-inner,
	header.site-header {
		padding: 0 20px;
	}
}

@media (max-width: 860px) {

	.cta-wrap,
	.cta-order-now {
		padding: 28px 24px;
		justify-content: center;
		text-align: center;
	}

	.wp-block-media-text__content.section-wrap {
		padding-top: 48px;
		padding-bottom: 48px;
	}
}

@media (max-width: 600px) {

	body {
		font-size: 16px;
	}

	button,
	input[type="submit"],
	.button,
	.wp-block-button.block-content-indent a.wp-block-button__link {
		width: 100%;
		padding: 16px 20px;
	}

	.site-header .genesis-nav-menu > li:last-child > a {
		margin-left: 0;
		display: inline-block;
	}

	.custompostshow .su-column {
		margin-bottom: 20px;
	}

	.welcome-section.wp-block-media-text__content h1.entry-title {
		font-size: 28px;
		letter-spacing: 0;
	}

	.sba-theme-toggle {
		right: 14px;
		bottom: 14px;
		width: 42px;
		height: 42px;
	}
}
