/*
Theme Name: Kurv BizFunds
Theme URI: https://mybizfunds.com/
Author: Kurv
Author URI: https://kurvpay.com/
Description: Kurv-branded block theme for mybizfunds.com (BizFunds® merchant funding). Full Site Editing theme with page templates matched to the existing page slugs, so activating it restyles the whole site without re-entering content.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kurv-mybizfunds
*/

/* ---------- Brand tokens (mirrors theme.json; used by the few rules theme.json can't express) ---------- */
:root {
	--kurv-dark-green: #1B4F30;
	--kurv-mid-green: #22A276;
	--kurv-link-green: #197655;
	--kurv-light-green: #E8F9CE;
	--kurv-bright-green: #A1F79C;
	--kurv-lime: #B2F752;
	--kurv-charcoal: #333138;
	--kurv-gray: #5F6368;
	--kurv-orange: #EF9000;
	--kurv-orange-hover: #D98300;
	--kurv-light-gray: #EFF2F2;
	--kurv-mint: #D2E7E5;
	--kurv-radius-sm: 6px;
	--kurv-radius-md: 12px;
	--kurv-radius-lg: 24px;
	--kurv-radius-pill: 999px;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Skip link and global focus ring: solid dark green, 3px offset (>= 3:1 on every surface used) */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--kurv-dark-green);
	outline-offset: 3px;
}
.has-dark-green-background-color :where(a, button, summary):focus-visible {
	outline-color: var(--kurv-bright-green);
}

/* ---------- Header ---------- */
.kurv-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--kurv-light-gray);
}
.admin-bar .kurv-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .kurv-header { top: 0; position: relative; } }
.kurv-header .kurv-logo img { width: 104px; height: auto; display: block; }
.kurv-footer .kurv-logo img { width: 112px; height: auto; display: block; }
.kurv-header .wp-block-navigation .current-menu-item > a,
.kurv-header .wp-block-navigation a[aria-current="page"] { color: var(--kurv-link-green); text-decoration: underline; text-underline-offset: 6px; }

/* ---------- Eyebrow label ---------- */
.is-style-kurv-eyebrow {
	font-size: 0.8125rem !important;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--kurv-dark-green);
}
.has-dark-green-background-color .is-style-kurv-eyebrow { color: var(--kurv-bright-green); }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--kurv-dark-green);
	border: 2px solid var(--kurv-dark-green);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--kurv-dark-green);
	color: #fff;
}
.has-dark-green-background-color .wp-block-button.is-style-outline > .wp-block-button__link {
	color: #fff;
	border-color: #fff;
}
.has-dark-green-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: #fff;
	color: var(--kurv-dark-green);
}

/* ---------- Cards ---------- */
.is-style-kurv-card {
	background: #fff;
	border: 1px solid var(--kurv-mint);
	border-radius: var(--kurv-radius-md);
	box-shadow: var(--wp--preset--shadow--card);
}
.is-style-kurv-card-tint {
	background: var(--kurv-light-green);
	border-radius: var(--kurv-radius-md);
}

/* Big stat numbers (Fraunces, per brand guide) */
.kurv-stat-number {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	line-height: 1.05;
	color: var(--kurv-dark-green);
}

/* Step number disc */
.kurv-step-number {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--kurv-dark-green);
	color: #fff !important;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem !important;
	line-height: 1 !important;
	margin: 0 !important;
}

/* ---------- Check list (block style on core/list) ---------- */
ul.is-style-kurv-check {
	list-style: none;
	padding-left: 0 !important;
}
ul.is-style-kurv-check > li {
	position: relative;
	padding-left: 2rem;
	margin-bottom: 0.65rem;
}
ul.is-style-kurv-check > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--kurv-light-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%231B4F30' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
}
.has-dark-green-background-color ul.is-style-kurv-check > li::before {
	background-color: var(--kurv-bright-green);
}
ul.kurv-columns { columns: 2 18rem; column-gap: 2.5rem; }
ul.kurv-columns > li { break-inside: avoid; }

/* Restricted list: two-column, x-marker */
ul.is-style-kurv-restricted {
	list-style: none;
	padding-left: 0 !important;
	columns: 2 20rem;
	column-gap: 2.5rem;
}
ul.is-style-kurv-restricted > li {
	position: relative;
	break-inside: avoid;
	padding: 0.7rem 0 0.7rem 1.75rem;
	border-bottom: 1px solid var(--kurv-light-gray);
}
ul.is-style-kurv-restricted > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.05rem;
	width: 0.75rem;
	height: 0.75rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 2l8 8M10 2l-8 8' stroke='%235F6368' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- FAQ (core/details) ---------- */
.wp-block-details summary {
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 2.5rem;
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--kurv-charcoal);
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	width: 1.5rem;
	height: 1.5rem;
	margin-top: -0.75rem;
	border-radius: 50%;
	background: var(--kurv-light-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7v10M7 12h10' stroke='%231B4F30' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% no-repeat;
	transition: transform 0.2s ease;
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details summary:hover { color: var(--kurv-link-green); }
.wp-block-details > :not(summary) { margin-top: 0.75rem; color: var(--kurv-charcoal); }
@media (prefers-reduced-motion: reduce) { .wp-block-details summary::after { transition: none; } }

/* ---------- Hero decoration (pure CSS shapes, no imagery) ---------- */
.kurv-hero { position: relative; overflow: hidden; }
.kurv-hero::after {
	content: "";
	position: absolute;
	right: -8rem;
	bottom: -10rem;
	width: 28rem;
	height: 28rem;
	border-radius: 50%;
	background: radial-gradient(circle at 40% 40%, var(--kurv-lime) 0%, var(--kurv-bright-green) 45%, rgba(161, 247, 156, 0) 70%);
	opacity: 0.55;
	pointer-events: none;
}
.kurv-hero > * { position: relative; z-index: 1; }

/* ---------- Footer ---------- */
.kurv-footer a { color: #fff; }
.kurv-footer a:hover { color: var(--kurv-bright-green); }
.kurv-footer .wp-block-navigation a { text-decoration: none; }
.kurv-footer .wp-block-navigation a:hover { text-decoration: underline; }
.kurv-footer .kurv-footer-muted { color: var(--kurv-light-green); }

/* ---------- Forms: clear "guiding lines" (theme form + the BizFunds plugin form) ---------- */
.kurv-form {
	background: var(--kurv-light-gray);
	border: 1px solid #C9D2D2;
	border-radius: var(--kurv-radius-md);
	padding: clamp(1.25rem, 3vw, 2rem);
}
.kurv-form :where(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], select, textarea) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 3rem;
	padding: 0.75rem 0.9rem;
	border: 1.5px solid var(--kurv-gray);
	border-radius: var(--kurv-radius-sm);
	font: inherit;
	color: var(--kurv-charcoal);
	background: #fff;
	box-shadow: inset 0 1px 2px rgba(51, 49, 56, 0.06);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.kurv-form :where(input, select, textarea):hover { border-color: var(--kurv-dark-green); }
.kurv-form :where(input, select, textarea):focus-visible {
	outline: 2px solid var(--kurv-dark-green);
	outline-offset: 1px;
	border-color: var(--kurv-dark-green);
	box-shadow: 0 0 0 4px var(--kurv-light-green);
}
.kurv-form :where(input, textarea)::placeholder { color: #6B6F74; opacity: 1; }
.kurv-form :where(input, select, textarea):user-invalid { border-color: #C0392B; }
.kurv-form label { display: block; font-weight: 600; margin-bottom: 0.4rem; color: var(--kurv-charcoal); }
.kurv-form :where(input[type="submit"], button[type="submit"]) {
	background: var(--kurv-orange);
	color: var(--kurv-charcoal);
	border: 0;
	border-radius: var(--kurv-radius-pill);
	padding: 0.9rem 1.8rem;
	font: 600 1rem/1.2 var(--wp--preset--font-family--body);
	cursor: pointer;
}
.kurv-form :where(input[type="submit"], button[type="submit"]):hover { background: var(--kurv-orange-hover); }
.kurv-fieldset {
	margin: 0 0 1.5rem;
	padding: 1.25rem 1.25rem 0.25rem;
	border: 1px solid #C9D2D2;
	border-radius: var(--kurv-radius-md);
	background: #fff;
}
.kurv-fieldset legend {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0 0.5rem;
	font-weight: 700;
	color: var(--kurv-dark-green);
}
.kurv-fieldset-step {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: var(--kurv-dark-green);
	color: #fff;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.95rem;
}
.kurv-field { margin: 0 0 1.1rem; }
.kurv-help { display: block; margin-top: 0.35rem; font-size: 0.8125rem; color: var(--kurv-gray); }
.kurv-req { color: #8A2A1F; }
.kurv-form-required { font-size: 0.8125rem; color: var(--kurv-gray); margin: 0 0 1rem; }
.kurv-form-required span { color: #8A2A1F; }

/* Template parts sit flush (no global block gap between header, main and footer) */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Theme fallback contact form */
.kurv-contact-form > p { margin: 0 0 1.1rem; }
.kurv-form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0 1.25rem; }
.kurv-form-hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.kurv-form-fine { font-size: 0.875rem; color: var(--kurv-gray); }
.kurv-form-notice { padding: 0.9rem 1.1rem; border-radius: var(--kurv-radius-sm); background: var(--kurv-light-green); color: var(--kurv-dark-green); font-weight: 600; }
.kurv-form-notice.is-error { background: #F8EFE1; color: #8A2A1F; border: 1px solid #C0392B; }

/* Header brand: Site Logo when set, otherwise the myBizFunds name in type */
.kurv-header .kurv-site-logo img { width: 180px; max-height: 56px; height: auto; object-fit: contain; }
.kurv-site-name { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: 1.75rem; line-height: 1; font-weight: 400; letter-spacing: -0.01em; }
.kurv-site-name a { color: var(--kurv-charcoal); text-decoration: none; }
.kurv-site-name a span { color: var(--kurv-dark-green); }
.kurv-site-name sup { font-size: 0.45em; vertical-align: super; margin-left: 1px; color: var(--kurv-dark-green); }
.kurv-site-name a:hover span { color: var(--kurv-link-green); }
.wp-custom-logo .kurv-site-name { display: none; }

/* ---------- Back to top (matches kurvpay.com .scroll-to-top) ---------- */
.scroll-to-top {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: 50%;
	background-color: #333138;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px) scale(0.8);
	transition: opacity 0.3s, visibility 0.3s, transform 0.3s, background-color 0.2s;
	box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.08), 1px 2px 2px 0 rgba(0, 0, 0, 0.05);
}
.scroll-to-top svg { width: 24px; height: 24px; pointer-events: none; }
.scroll-to-top.visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.scroll-to-top:active { background-color: #1F1F23; transform: translateY(0) scale(0.95); }
.scroll-to-top:focus-visible { outline: 2px solid var(--kurv-dark-green); outline-offset: 3px; box-shadow: 0 0 0 5px #fff; }
@media (hover: hover) and (pointer: fine) {
	.scroll-to-top:hover { background-color: #1F1F23; transform: translateY(0) scale(1.05); box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2); }
	.scroll-to-top:active { transform: translateY(0) scale(0.95); }
}
@media (max-width: 767px) {
	.scroll-to-top { bottom: 64px; right: 15px; }
	.scroll-to-top.visible { opacity: 0.75; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.scroll-to-top { bottom: 32px; right: 32px; width: 52px; height: 52px; min-width: 52px; min-height: 52px; }
	.scroll-to-top svg { width: 26px; height: 26px; }
}
@media (min-width: 1025px) {
	.scroll-to-top { bottom: 40px; right: 40px; width: 56px; height: 56px; min-width: 56px; min-height: 56px; }
	.scroll-to-top svg { width: 28px; height: 28px; }
}
@media (prefers-reduced-motion: reduce) {
	.scroll-to-top { transition: opacity 0.01s, visibility 0.01s; transform: none !important; }
}

/* =====================================================================
   v3 — illustrated, merchant-friendly layout + mobile optimization
   ===================================================================== */
.kurv-icon { margin: 0 !important; flex-shrink: 0; }
.kurv-icon img { display: block; width: 56px; height: 56px; }
.kurv-chip .kurv-icon img { width: 44px; height: 44px; }

/* Hero */
.kurv-hero-art { margin: 0; }
.kurv-hero-art img { display: block; width: 100%; height: auto; aspect-ratio: 640 / 540; max-width: 620px; margin-left: auto; }
.kurv-hero-home { padding-bottom: calc(var(--wp--preset--spacing--60) + 4.5rem) !important; }
ul.kurv-inline-checks { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: 1.25rem; font-weight: 600; font-size: 0.9375rem; }
ul.kurv-inline-checks > li { margin-bottom: 0; }

/* Page heroes with art */
.kurv-page-art { margin: 0; }
.kurv-page-art img { display: block; width: 100%; height: auto; aspect-ratio: 480 / 400; max-width: 420px; margin-left: auto; }
.kurv-section-art img { display: block; width: 100%; height: auto; aspect-ratio: 480 / 400; max-width: 440px; }

/* Stats strip overlapping the hero */
.kurv-stats-wrap { position: relative; z-index: 2; margin-top: -4.5rem !important; background: transparent; }
.kurv-stats { gap: 1.5rem 2rem !important; }
.kurv-stats > .wp-block-group { padding-left: 1.25rem; border-left: 3px solid var(--kurv-bright-green); }

/* Chips (industries, uses) */
.kurv-chip {
	align-items: center !important;
	padding: 0.85rem 1rem;
	background: #fff;
	border: 1px solid var(--kurv-mint);
	border-radius: var(--kurv-radius-md);
	font-weight: 600;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.kurv-chip p { margin: 0; line-height: 1.35; }
.kurv-chip:hover { transform: translateY(-2px); box-shadow: var(--wp--preset--shadow--card); }
.kurv-uses .kurv-chip { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.18); color: #fff; }
.kurv-uses .kurv-chip:hover { background: rgba(255, 255, 255, 0.1); box-shadow: none; }
.kurv-uses .is-style-kurv-eyebrow { color: var(--kurv-bright-green); }

/* Icon cards */
.is-style-kurv-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.wp-block-group.is-layout-grid > .is-style-kurv-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(27, 79, 48, 0.06), 0 14px 32px rgba(27, 79, 48, 0.12); }
.is-style-kurv-card h3 { margin: 0.25rem 0 0; }
.is-style-kurv-card p { margin: 0; }
@media (prefers-reduced-motion: reduce) {
	.kurv-chip, .is-style-kurv-card { transition: none; }
	.kurv-chip:hover, .wp-block-group.is-layout-grid > .is-style-kurv-card:hover { transform: none; }
}

/* ---------- Mobile navigation overlay ---------- */
.kurv-header .wp-block-navigation__responsive-container-open,
.kurv-header .wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: var(--kurv-dark-green);
}
.kurv-header .wp-block-navigation__responsive-container-open:hover { background: var(--kurv-light-green); }
.kurv-header .wp-block-navigation__responsive-container.is-menu-open {
	background: #fff !important;
	padding: 1.25rem clamp(1rem, 5vw, 2rem) 2rem;
}
.kurv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; }
.kurv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--kurv-light-gray); }
.kurv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	padding: 1rem 0 !important;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--kurv-charcoal);
}
.kurv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 3.5rem; }

/* ---------- Mobile layout ---------- */
@media (max-width: 781px) {
	.kurv-header { padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; }
	.kurv-site-name { font-size: 1.5rem; }
	.kurv-header .kurv-site-logo img { width: 150px; max-height: 44px; }
	.kurv-header-cta .wp-block-button__link { padding: 0.55rem 1rem !important; font-size: 0.9rem; }

	.kurv-hero-art img { max-width: 440px; margin: 0.5rem auto 0; }
	.kurv-page-art-col { order: 2; }
	.kurv-page-art img { max-width: 260px; margin: 0 auto; }
	.kurv-art-col { order: 2; }
	.kurv-section-art img { max-width: 300px; margin: 0 auto; }
	.kurv-hero-home { padding-bottom: calc(var(--wp--preset--spacing--60) + 3rem) !important; }
	.kurv-stats-wrap { margin-top: -3rem !important; }
	.kurv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.25rem 1rem !important; }
	.kurv-stats > .wp-block-group { padding-left: 0.75rem; }
	.kurv-stats .kurv-stat-number { font-size: 1.6rem !important; }

	/* Full-width, thumb-friendly buttons */
	main .wp-block-buttons { flex-direction: column; align-items: stretch; }
	main .wp-block-buttons > .wp-block-button { width: 100%; }
	main .wp-block-buttons > .wp-block-button > .wp-block-button__link { display: block; width: 100%; text-align: center; padding-top: 0.95rem; padding-bottom: 0.95rem; }

	.wp-block-details summary { padding-top: 0.25rem; padding-bottom: 0.25rem; min-height: 44px; display: flex; align-items: center; }
	ul.kurv-columns { columns: 1; }
	.kurv-form-row { grid-template-columns: 1fr; }
	.kurv-fieldset { padding: 1rem 0.9rem 0.25rem; }
	.kurv-footer .wp-block-navigation-item__content { display: inline-block; padding: 0.35rem 0; }
}
@media (max-width: 340px) {
	.kurv-header-cta { display: none; }
}

/* Even 3-up grids on desktop, 2-up on tablet, 1-up on phones */
@media (min-width: 782px) {
	.wp-block-group.kurv-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 480px) and (max-width: 781px) {
	.wp-block-group.kurv-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 479px) {
	.wp-block-group.kurv-grid-3 { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Stats strip sizing */
@media (min-width: 782px) {
	.kurv-stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
	.kurv-stats .kurv-stat-number { font-size: clamp(1.5rem, 2.1vw, 1.95rem) !important; }
}
@media (max-width: 781px) {
	.kurv-stats .kurv-stat-number { font-size: 1.3rem !important; line-height: 1.15; }
	.kurv-stats .has-small-font-size { font-size: 0.8125rem !important; }
}
.kurv-industries { padding-bottom: var(--wp--preset--spacing--30) !important; }

/* Chip grids stay 2-up on phones; cards compact */
@media (max-width: 479px) {
	.wp-block-group.kurv-grid-chips { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.6rem !important; }
	.kurv-chip { flex-direction: column; align-items: flex-start !important; gap: 0.5rem !important; padding: 0.75rem; font-size: 0.875rem; }
	.kurv-chip .kurv-icon img { width: 36px; height: 36px; }
	.is-style-kurv-card { padding: 1.25rem !important; }
	.is-style-kurv-card .kurv-icon img { width: 44px; height: 44px; }
}
@media (max-width: 479px) {
	.is-style-kurv-card:has(> .kurv-icon) { display: grid !important; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; align-items: start; }
	.is-style-kurv-card:has(> .kurv-icon) > .kurv-icon { grid-row: span 2; }
	.is-style-kurv-card:has(> .kurv-icon) h3 { margin: 0 !important; font-size: 1.05rem; }
}
.kurv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.kurv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.kurv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; }

/* ---------- myBizFunds logo (Option F "Helping Hand") ---------- */
.kurv-default-logo { margin: 0; }
.kurv-default-logo img { display: block; width: 190px; height: auto; aspect-ratio: 343 / 62; }
.wp-custom-logo .kurv-default-logo { display: none; }
.kurv-footer-brand { margin: 0; }
.kurv-footer-brand img { display: block; width: 220px; height: auto; aspect-ratio: 343 / 62; }
.kurv-footer .kurv-logo img { width: 84px; }
.kurv-footer-endorse p { margin: 0; }
@media (max-width: 781px) {
	.kurv-default-logo img { width: 160px; }
}
@media (max-width: 380px) {
	.kurv-default-logo img { width: 140px; }
}

/* ---------- People scenes ---------- */
.kurv-scene { margin: 0; }
.kurv-scene img { display: block; width: 100%; height: auto; aspect-ratio: 480 / 360; border-radius: 28px; box-shadow: 0 2px 6px rgba(27, 79, 48, 0.06), 0 18px 40px rgba(27, 79, 48, 0.12); }
.kurv-scene-card { overflow: hidden; }
.kurv-scene-card .kurv-scene-card-img { margin: 12px 12px 0 !important; }
.kurv-scene-card .kurv-scene-card-img img { display: block; width: 100%; height: auto; aspect-ratio: 480 / 360; border-radius: 18px; }
.kurv-scene-card h3 { margin: 0; }
.kurv-scene-card p { margin: 0; }
.wp-block-group.is-layout-grid > .kurv-scene-card:hover .kurv-scene-card-img img { transform: scale(1.02); }
.kurv-scene-card .kurv-scene-card-img img { transition: transform 0.25s ease; }
@media (prefers-reduced-motion: reduce) { .kurv-scene-card .kurv-scene-card-img img { transition: none; } }
@media (max-width: 781px) {
	.kurv-scene-col { order: -1; }
	.kurv-scene img { max-width: 520px; margin: 0 auto; border-radius: 20px; }
}
@media (max-width: 479px) {
	.wp-block-group.kurv-grid-3:has(> .kurv-scene-card) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.75rem !important; }
	.kurv-scene-card .kurv-scene-card-img { margin: 8px 8px 0 !important; }
	.kurv-scene-card .kurv-scene-card-img img { border-radius: 12px; }
	.kurv-scene-card > .wp-block-group { padding: 0.6rem 0.75rem 0 !important; }
	.kurv-scene-card h3 { font-size: 0.95rem !important; }
	.kurv-scene-card p { display: none; }
}
.kurv-footer { padding-bottom: calc(var(--wp--preset--spacing--50) + 4rem) !important; }
.kurv-header-cta .wp-block-button__link { white-space: nowrap; }
@media (max-width: 781px) {
	.kurv-default-logo img { width: 150px; }
	.kurv-header > .wp-block-group { gap: 0.5rem; }
	.kurv-header .wp-block-group:has(> .wp-block-navigation) { gap: 0.5rem !important; }
}
@media (max-width: 400px) {
	.kurv-default-logo img { width: 136px; }
	.kurv-header-cta .wp-block-button__link { padding: 0.5rem 0.85rem !important; font-size: 0.85rem; }
}
