/* emailfooter theme: tokens shared with the app (BizyDash palette), light and dark. */
:root {
	--ef-page: #ffffff; --ef-bg: #f6f7f9; --ef-surface: #ffffff; --ef-surface-2: #f9fafb; --ef-hover: #f2f4f7;
	--ef-ink: #101828; --ef-ink-2: #344054; --ef-muted: #667085; --ef-faint: #98a2b3;
	--ef-line: #e4e7ec; --ef-line-strong: #d0d5dd;
	--ef-accent: #222530; --ef-accent-hover: #101828; --ef-on-accent: #ffffff; --ef-accent-soft: #eef0f4; --ef-link: #2f54e0;
	--ef-success: #12b76a; --ef-danger: #f04438;
	--ef-glow-a: rgba(76, 79, 217, .13); --ef-glow-b: rgba(224, 123, 40, .11);
	--ef-shadow-card: 0 0 0 1px var(--ef-line), 0 1px 2px rgba(16, 24, 40, .04);
	--ef-shadow-lift: 0 0 0 1px var(--ef-line-strong), 0 12px 28px -10px rgba(16, 24, 40, .16);
	--ef-text: var(--ef-ink); --ef-text-muted: var(--ef-muted); --ef-primary: var(--ef-accent); --ef-on-primary: var(--ef-on-accent);
	--ef-radius: 14px; --ef-wrap: 1160px;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--ef-page: #0d1218; --ef-bg: #11171d; --ef-surface: #19212a; --ef-surface-2: #161d25; --ef-hover: #212b36;
		--ef-ink: #f2f4f7; --ef-ink-2: #d0d5dd; --ef-muted: #98a2b3; --ef-faint: #667085;
		--ef-line: #2a3441; --ef-line-strong: #3a4655;
		--ef-accent: #f2f4f7; --ef-accent-hover: #ffffff; --ef-on-accent: #101828; --ef-accent-soft: rgba(255, 255, 255, .08); --ef-link: #84a1ff;
		--ef-glow-a: rgba(140, 143, 255, .16); --ef-glow-b: rgba(240, 161, 90, .10);
		--ef-shadow-card: 0 0 0 1px var(--ef-line);
		--ef-shadow-lift: 0 0 0 1px var(--ef-line-strong), 0 16px 40px -12px rgba(0, 0, 0, .6);
	}
}
:root[data-theme="dark"] {
	--ef-page: #0d1218; --ef-bg: #11171d; --ef-surface: #19212a; --ef-surface-2: #161d25; --ef-hover: #212b36;
	--ef-ink: #f2f4f7; --ef-ink-2: #d0d5dd; --ef-muted: #98a2b3; --ef-faint: #667085;
	--ef-line: #2a3441; --ef-line-strong: #3a4655;
	--ef-accent: #f2f4f7; --ef-accent-hover: #ffffff; --ef-on-accent: #101828; --ef-accent-soft: rgba(255, 255, 255, .08); --ef-link: #84a1ff;
	--ef-glow-a: rgba(140, 143, 255, .16); --ef-glow-b: rgba(240, 161, 90, .10);
	--ef-shadow-card: 0 0 0 1px var(--ef-line);
	--ef-shadow-lift: 0 0 0 1px var(--ef-line-strong), 0 16px 40px -12px rgba(0, 0, 0, .6);
}

/* ───────── base ───────── */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--ef-page); color: var(--ef-ink-2); font-feature-settings: "cv11", "ss01"; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: color-mix(in srgb, var(--ef-link) 28%, transparent); }
a { text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--ef-link); outline-offset: 3px; border-radius: 4px; }
img, svg { max-width: 100%; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ef-main { display: block; }
.ef-muted { color: var(--ef-muted); }
.ef-small { font-size: .875rem; }
.ef-center { text-align: center; }
.ef-lead { font-size: var(--wp--preset--font-size--lead, 1.2rem); line-height: 1.55; color: var(--ef-muted); max-width: 62ch; }
.ef-center .ef-lead, .ef-lead.ef-center { margin-left: auto; margin-right: auto; }
.screen-reader-text { position: absolute; left: -9999px; }

/* ───────── layout helpers ───────── */
.ef-wrap { width: 100%; max-width: calc(var(--ef-wrap) + 48px); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.ef-wrap--narrow { max-width: 780px; }
.ef-section { padding: clamp(56px, 8vw, 104px) 0; position: relative; }
.ef-section--tint { background: var(--ef-bg); box-shadow: inset 0 1px 0 var(--ef-line), inset 0 -1px 0 var(--ef-line); }
.ef-section__head { max-width: 720px; margin: 0 0 40px; }
.ef-section__head.ef-center { margin-left: auto; margin-right: auto; }
.ef-section h2 { margin: 0 0 14px; }
.ef-grid { display: grid; gap: 20px; }
.ef-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ef-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ef-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ef-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
@media (max-width: 980px) { .ef-grid--3, .ef-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ef-split { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .ef-grid--2, .ef-grid--3, .ef-grid--4 { grid-template-columns: 1fr; } }

/* ───────── header ───────── */
.ef-header { position: sticky; top: 0; z-index: 100; isolation: isolate; box-shadow: 0 1px 0 var(--ef-line); }
/* The blur lives on a pseudo-element: a backdrop-filter on the header itself would trap the fixed mobile-menu overlay inside it. */
.ef-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--ef-page) 82%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); }
.admin-bar .ef-header { top: 32px; }
.ef-header__inner { display: flex; align-items: center; gap: 24px; max-width: calc(var(--ef-wrap) + 48px); margin: 0 auto; padding: 0 24px; min-height: 66px; box-sizing: border-box; }
.ef-logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 650; font-size: 1.18rem; letter-spacing: -.03em; color: var(--ef-ink); text-decoration: none; }
.ef-logo svg { color: var(--ef-accent); flex: none; }
.ef-primary-nav { flex: 1; }
.ef-primary-nav .wp-block-navigation-item__content { font-weight: 500; font-size: .95rem; color: var(--ef-ink-2); text-decoration: none; padding: 8px 12px; border-radius: 8px; transition: background-color .15s, color .15s; }
.ef-primary-nav .wp-block-navigation-item__content:hover { background: var(--ef-hover); color: var(--ef-ink); }
.ef-primary-nav .wp-block-navigation__submenu-container { background: var(--ef-surface); border: 0; border-radius: 12px; box-shadow: var(--ef-shadow-lift); padding: 6px; min-width: 240px; }
.ef-header__actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.ef-header__actions .wp-block-buttons { margin: 0; }
.ef-signin { font-weight: 500; font-size: .95rem; color: var(--ef-ink-2); text-decoration: none; padding: 8px 12px; border-radius: 8px; }
.ef-signin:hover { background: var(--ef-hover); color: var(--ef-ink); }
.ef-toggle { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 10px; background: transparent; color: var(--ef-ink-2); cursor: pointer; }
.ef-toggle:hover { background: var(--ef-hover); color: var(--ef-ink); }
.ef-toggle__sun { display: none; }
:root[data-theme="dark"] .ef-toggle__sun { display: block; } :root[data-theme="dark"] .ef-toggle__moon { display: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ef-toggle__sun { display: block; } :root:not([data-theme="light"]) .ef-toggle__moon { display: none; } }
@media (max-width: 860px) { .ef-signin { display: none; } .ef-header__inner { gap: 10px; } .ef-header__cta .wp-block-button__link { padding: .55em 1em; font-size: .9rem; } }
@media (max-width: 520px) { .ef-header__cta { display: none; } .ef-primary-nav { flex: 0; } .ef-header__actions { margin-left: auto; } }

/* ───────── buttons ───────── */
.wp-block-button__link { font-weight: 600; letter-spacing: -.005em; transition: transform .15s, box-shadow .15s, background-color .15s; box-shadow: 0 1px 2px rgba(16, 24, 40, .16); text-decoration: none; }
.wp-block-button__link:hover { background: var(--ef-accent-hover); color: var(--ef-on-accent); transform: translateY(-1px); box-shadow: 0 6px 16px -6px rgba(16, 24, 40, .4); }
.is-style-outline > .wp-block-button__link { background: var(--ef-surface); color: var(--ef-ink); box-shadow: 0 0 0 1px var(--ef-line-strong), 0 1px 2px rgba(16, 24, 40, .05); }
.is-style-outline > .wp-block-button__link:hover { background: var(--ef-hover); color: var(--ef-ink); }
.wp-block-buttons { gap: 12px; }
.ef-btn-lg .wp-block-button__link { padding: .95em 1.7em; font-size: 1.02rem; }

/* ───────── hero ───────── */
.ef-hero { position: relative; overflow: hidden; padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 6vw, 72px); background:
	radial-gradient(60% 55% at 50% -8%, var(--ef-glow-a), transparent 70%),
	radial-gradient(38% 38% at 92% 6%, var(--ef-glow-b), transparent 70%); }
.ef-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(var(--ef-line) 1px, transparent 1px), linear-gradient(90deg, var(--ef-line) 1px, transparent 1px); background-size: 56px 56px; opacity: .45; -webkit-mask-image: radial-gradient(70% 60% at 50% 0%, #000, transparent 75%); mask-image: radial-gradient(70% 60% at 50% 0%, #000, transparent 75%); pointer-events: none; }
.ef-hero > * { position: relative; }
.ef-hero h1 { margin: 0 0 20px; max-width: 16ch; }
.ef-hero--center h1 { margin-left: auto; margin-right: auto; max-width: 18ch; }
.ef-hero--center .ef-lead { margin-left: auto; margin-right: auto; }
.ef-hero--center .wp-block-buttons { justify-content: center; }
.ef-pill { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 6px 12px; border-radius: 999px; background: var(--ef-surface); box-shadow: 0 0 0 1px var(--ef-line-strong); font-size: .8rem; font-weight: 600; color: var(--ef-ink-2); letter-spacing: -.005em; }
.ef-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ef-success); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ef-success) 22%, transparent); }
.ef-pill--plain::before { display: none; }
.ef-trustline { margin-top: 22px; font-size: .9rem; color: var(--ef-muted); }
.ef-trustline strong { color: var(--ef-ink-2); font-weight: 600; }

/* demo stage */
.ef-stage { margin: clamp(32px, 5vw, 56px) auto 0; max-width: 980px; border-radius: 18px; background: var(--ef-surface); box-shadow: var(--ef-shadow-lift); overflow: hidden; }
.ef-stage__bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; background: var(--ef-surface-2); box-shadow: 0 1px 0 var(--ef-line); }
.ef-stage__bar i { width: 11px; height: 11px; border-radius: 50%; background: var(--ef-line-strong); }
.ef-stage__body { padding: clamp(14px, 2.4vw, 26px); }
.ef-demo { max-width: 100%; }

/* ───────── cards ───────── */
.ef-card { background: var(--ef-surface); border-radius: var(--ef-radius); box-shadow: var(--ef-shadow-card); padding: 26px; transition: box-shadow .2s, transform .2s; }
.ef-card h3 { margin: 0 0 8px; font-size: 1.12rem; letter-spacing: -.02em; }
.ef-card p { margin: 0; color: var(--ef-muted); font-size: .97rem; }
.ef-card:hover { box-shadow: var(--ef-shadow-lift); transform: translateY(-2px); }
.ef-card--flat:hover { transform: none; box-shadow: var(--ef-shadow-card); }
.ef-card a { color: var(--ef-ink); font-weight: 600; text-decoration: none; }
.ef-card .ef-more { margin-top: 14px; font-weight: 600; font-size: .95rem; }
.ef-card .ef-more a::after { content: " →"; }
.ef-card ul { margin: 12px 0 0; padding-left: 0; list-style: none; display: grid; gap: 8px; }
.ef-card li { color: var(--ef-ink-2); font-size: .95rem; padding-left: 26px; position: relative; }
.ef-card li::before, .ef-checks li::before { content: ""; position: absolute; left: 0; top: .32em; width: 16px; height: 16px; background: var(--ef-success); -webkit-mask: var(--ef-ico-check) center/contain no-repeat; mask: var(--ef-ico-check) center/contain no-repeat; }
.ef-checks { padding-left: 0 !important; list-style: none; display: grid; gap: 10px; }
.ef-checks li { position: relative; padding-left: 28px; color: var(--ef-ink-2); }
.ef-checks li::before { top: .3em; }
:root { --ef-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }

/* steps */
.ef-steps { counter-reset: step; }
.ef-step { position: relative; padding-top: 6px; }
.ef-step::before { counter-increment: step; content: counter(step); display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--ef-accent); color: var(--ef-on-accent); font-weight: 700; margin-bottom: 18px; }
.ef-step h3 { margin: 0 0 8px; }
.ef-step p { margin: 0; color: var(--ef-muted); }

/* mail app chips */
.ef-chips { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 0; padding: 0; list-style: none; }
.ef-chips li { padding: 9px 16px; border-radius: 999px; background: var(--ef-surface); box-shadow: 0 0 0 1px var(--ef-line-strong); font-weight: 500; font-size: .93rem; color: var(--ef-ink-2); }

/* ───────── PAS (pain, agitate, solution) ───────── */
.ef-pas-label { display: inline-block; margin: 0 0 14px; font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--ef-muted); }
.ef-pas-label--pain { color: #b42318; } .ef-pas-label--agitate { color: #b54708; } .ef-pas-label--solution { color: #067647; }
:root[data-theme="dark"] .ef-pas-label--pain { color: #ff9a94; } :root[data-theme="dark"] .ef-pas-label--agitate { color: #fec84b; } :root[data-theme="dark"] .ef-pas-label--solution { color: #6ce9a6; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ef-pas-label--pain { color: #ff9a94; } :root:not([data-theme="light"]) .ef-pas-label--agitate { color: #fec84b; } :root:not([data-theme="light"]) .ef-pas-label--solution { color: #6ce9a6; } }
.ef-prose p { margin: 0 0 1.1em; font-size: 1.08rem; line-height: 1.7; max-width: 66ch; }
.ef-quote { padding: 22px 24px; border-radius: var(--ef-radius); background: var(--ef-surface); box-shadow: var(--ef-shadow-card); }
.ef-quote p { margin: 0; font-size: 1rem; color: var(--ef-ink-2); }
.ef-quote strong { color: var(--ef-ink); }
.ef-callout { padding: 20px 24px; border-radius: var(--ef-radius); background: var(--ef-accent-soft); color: var(--ef-ink); font-weight: 500; font-size: 1.05rem; }
.ef-callout p { margin: 0; }

/* ───────── CTA band ───────── */
.ef-cta { background: var(--ef-accent); color: var(--ef-on-accent); border-radius: 22px; padding: clamp(36px, 6vw, 72px); text-align: center; position: relative; overflow: hidden; }
.ef-cta::before { content: ""; position: absolute; inset: -40% -10% auto auto; width: 60%; height: 120%; background: radial-gradient(closest-side, rgba(255, 255, 255, .14), transparent); pointer-events: none; }
.ef-cta h2, .ef-cta p { color: var(--ef-on-accent); position: relative; }
.ef-cta p { opacity: .82; max-width: 54ch; margin-left: auto; margin-right: auto; }
.ef-cta .wp-block-buttons { justify-content: center; position: relative; }
.ef-cta .wp-block-button__link { background: var(--ef-on-accent); color: var(--ef-accent); box-shadow: none; }
.ef-cta .wp-block-button__link:hover { background: var(--ef-on-accent); color: var(--ef-accent); opacity: .92; }
.ef-cta .is-style-outline > .wp-block-button__link { background: transparent; color: var(--ef-on-accent); box-shadow: 0 0 0 1px rgba(255, 255, 255, .4); }
:root[data-theme="dark"] .ef-cta .is-style-outline > .wp-block-button__link { box-shadow: 0 0 0 1px rgba(16, 24, 40, .35); }

/* ───────── FAQ ───────── */
.wp-block-details { background: var(--ef-surface); border-radius: 12px; box-shadow: var(--ef-shadow-card); padding: 4px 22px; margin: 0 0 10px; }
.wp-block-details summary { cursor: pointer; font-weight: 600; color: var(--ef-ink); padding: 16px 0; font-size: 1.02rem; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font-weight: 400; font-size: 1.4rem; line-height: 1; color: var(--ef-muted); }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details p { margin: 0 0 16px; color: var(--ef-muted); }

/* ───────── tables ───────── */
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: .97rem; background: var(--ef-surface); border-radius: 12px; overflow: hidden; box-shadow: var(--ef-shadow-card); }
.wp-block-table th, .wp-block-table td { padding: 14px 18px; text-align: left; border: 0; box-shadow: inset 0 -1px 0 var(--ef-line); vertical-align: top; }
.wp-block-table thead th { background: var(--ef-surface-2); font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--ef-muted); }
.wp-block-table tbody tr:last-child td { box-shadow: none; }
.wp-block-table td:first-child { font-weight: 600; color: var(--ef-ink); white-space: nowrap; }
.wp-block-table figcaption { display: none; }

/* ───────── footer ───────── */
.ef-footer { background: var(--ef-bg); box-shadow: inset 0 1px 0 var(--ef-line); padding: 56px 0 28px; margin-top: 0; }
.ef-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 40px; }
.ef-footer__brand p { max-width: 36ch; margin: 14px 0 0; font-size: .95rem; }
.ef-footer__h { font-size: .8rem !important; font-weight: 650; text-transform: uppercase; letter-spacing: .08em; color: var(--ef-muted) !important; margin: 0 0 14px !important; }
.ef-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.ef-footer__list a { color: var(--ef-ink-2); text-decoration: none; font-size: .95rem; }
.ef-footer__list a:hover { color: var(--ef-ink); text-decoration: underline; }
.ef-footer__bar { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 44px; padding-top: 22px; box-shadow: 0 -1px 0 var(--ef-line); }
.ef-footer__bar p { margin: 0; }
.ef-footer__bar a { color: var(--ef-muted); }
@media (max-width: 860px) { .ef-footer__grid { grid-template-columns: 1fr 1fr; } .ef-footer__brand { grid-column: 1 / -1; } }

/* ───────── legal pages ───────── */
.ef-legal .wp-block-post-title { margin: 56px 0 8px; }
.ef-legal .wp-block-post-content { padding-bottom: 80px; }
.ef-legal h2 { font-size: 1.4rem; margin: 2em 0 .5em; letter-spacing: -.02em; }
.ef-legal p, .ef-legal li { font-size: 1.02rem; line-height: 1.75; }

/* ───────── scroll reveal (only when JS is on) ───────── */
.js .ef-reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease; }
.js .ef-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .ef-reveal { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } .ef-card:hover, .wp-block-button__link:hover { transform: none; } }

/* ───────── editor parity ───────── */
.editor-styles-wrapper .ef-reveal { opacity: 1 !important; transform: none !important; }
.editor-styles-wrapper .ef-header { position: static; }

/* ───────── page-specific helpers ───────── */
.ef-section--slim { padding: 36px 0 44px; }
.ef-section--slim .ef-section__head { margin-bottom: 22px; }
.ef-section--slim h2 { font-size: 1.1rem !important; letter-spacing: -.01em; font-weight: 600; color: var(--ef-muted); }
.ef-split--top { align-items: start; }
.ef-statcard { text-align: center; padding: 28px 18px; }
.ef-statcard__n { font-size: clamp(2rem, 1.4rem + 2vw, 3rem) !important; font-weight: 650; letter-spacing: -.04em; line-height: 1; color: var(--ef-ink) !important; margin: 0 0 8px !important; }
.ef-statcard__l { font-size: .95rem !important; }
.ef-formcard { padding: clamp(22px, 3vw, 36px); position: sticky; top: 96px; }
.ef-formcard .ef-h3 { font-size: 1.4rem; margin: 0 0 18px; }
@media (max-width: 980px) { .ef-formcard { position: static; } }
.ef-hero:not(.ef-hero--center) .ef-lead { max-width: 56ch; }
.ef-faq { max-width: 820px; }
.ef-prose { max-width: 70ch; }
.wp-block-group.ef-section > .ef-wrap > .ef-prose { max-width: 70ch; }
.ef-step { max-width: 36ch; }
.ef-split > .wp-block-group > .ef-section__head { margin-bottom: 0; }
.ef-section > .ef-wrap > .ef-pas-label { margin-bottom: 10px; }

/* WordPress adds a block gap between flow children; our flex and grid containers manage their own spacing. */
.ef-header__inner > *, .ef-header__actions > *, .ef-grid > *, .ef-split > *, .ef-footer__grid > *, .ef-footer__bar > *, .ef-steps > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.ef-stage { text-align: left; }
.ef-hero .wp-block-buttons { margin-top: 28px; }
.ef-section .wp-block-buttons { margin-top: 32px; }
.ef-hero .ef-pill { margin-left: auto; margin-right: auto; }
.ef-hero:not(.ef-hero--center) .ef-pill { margin-left: 0; }
.ef-section__head { margin-block: 0 40px; }
.wp-block-heading, .ef-section p, .ef-hero p { margin-block-start: 0; }
.ef-card > * + * { margin-top: 0; }

.ef-hero .ef-trustline { margin-top: 30px; }

/* header on small screens */
@media (max-width: 860px) { .ef-header__cta .wp-block-button__link { white-space: nowrap; } }
@media (max-width: 520px) {
	.ef-header__cta { display: none !important; }
	.ef-primary-nav { flex: 0 0 auto !important; }
	.ef-header__inner { justify-content: space-between; }
}
/* lists inside split columns need room before the next heading */
.ef-section .ef-checks { margin-bottom: 32px !important; }
.ef-card .ef-checks { margin-bottom: 0 !important; }
.ef-split h3.wp-block-heading { margin: 0 0 20px; }
.ef-step h3 { margin: 0 0 6px; }

/* decorative signature card on left-aligned heroes */
.ef-hero:not(.ef-hero--center)::after {
	content: ""; position: absolute; right: max(24px, calc((100vw - var(--ef-wrap)) / 2)); top: 50%; width: min(380px, 34vw); aspect-ratio: 1.55; border-radius: 18px;
	transform: translateY(-50%) rotate(2deg); box-shadow: var(--ef-shadow-lift); pointer-events: none;
	background:
		radial-gradient(circle 22px at 17% 30%, var(--ef-accent) 0 21px, transparent 22px),
		linear-gradient(var(--ef-ink) 0 0) 38% 24% / 34% 6% no-repeat,
		linear-gradient(var(--ef-line-strong) 0 0) 38% 37% / 24% 4% no-repeat,
		linear-gradient(var(--ef-line) 0 0) 10% 58% / 62% 3.5% no-repeat,
		linear-gradient(var(--ef-line) 0 0) 10% 70% / 48% 3.5% no-repeat,
		linear-gradient(var(--ef-line) 0 0) 10% 82% / 55% 3.5% no-repeat,
		var(--ef-surface);
}
@media (max-width: 980px) { .ef-hero:not(.ef-hero--center)::after { display: none; } }

/* ───────── touch targets and the mobile menu ───────── */
.ef-logo { min-height: 44px; }
.ef-toggle { width: 44px; height: 44px; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; padding: 0; }
.ef-footer__list a { display: inline-block; padding: 6px 0; }
.ef-demo__tab, .ef-demo__mode { min-height: 40px; }
.ef-demo__dot { width: 26px; height: 26px; }
.ef-nav-mobile { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .ef-nav-mobile { display: list-item !important; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--ef-page) !important; color: var(--ef-ink) !important; padding: 20px 24px 32px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; font-weight: 600; padding: 12px 4px; color: var(--ef-ink); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; padding-left: 12px; min-width: 0; background: transparent; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; font-weight: 500; color: var(--ef-ink-2); }
.wp-block-navigation__responsive-container.is-menu-open .ef-nav-cta .wp-block-navigation-item__content { display: block; text-align: center; background: var(--ef-accent); color: var(--ef-on-accent); border-radius: 10px; margin-top: 12px; padding: 14px; }
.wp-block-navigation__responsive-container-close { color: var(--ef-ink); }
@media (max-width: 599px) { .ef-demo__tabs { gap: 8px; } .ef-demo__dots { gap: 6px; } }

/* tables on small screens */
.wp-block-table { overflow-x: auto; }
@media (max-width: 720px) {
	.wp-block-table table { table-layout: auto !important; font-size: .93rem; }
	.wp-block-table th, .wp-block-table td { padding: 12px 14px; }
	.wp-block-table td:first-child, .wp-block-table th:first-child { white-space: normal; width: 38%; min-width: 108px; }
}
