/*
Theme Name: Ledger (JARM)
Theme URI: https://jarm.net
Author: JARM total solution
Author URI: https://jarm.net
Description: Ledger theme adjusted for JARM total solution: custom sticky header (logo, phone, menu), Elementor footer document, Inter font. A minimalist, typography- and color-driven theme styled with the JARM palette (navy, blue, amber) for solo consultants and independent professionals serving small businesses. Built to work with Elementor (free): header, footer and content areas are intentionally light so Elementor pages control the design. No photography required. Elementor Pro Theme Builder locations (header, footer, single, archive) are supported when Elementor Pro is active.
Version: 1.19.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ledger
Tags: one-column, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, accessibility-ready, blog, portfolio
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root {
	/* JARM palette: primary #018ECE, secondary #00264B, contrast #FFBF00 */
	/* Primary / secondary / text / accent come from Elementor Global Colors
	   (Site Settings); the value after the comma is the fallback. */
	--ledger-paper: #FFFFFF;
	--ledger-paper-alt: #F0F6FB;
	--ledger-navy: var(--e-global-color-secondary, #00264B);
	--ledger-ink: var(--e-global-color-text, #00264B);
	--ledger-blue: var(--e-global-color-primary, #018ECE);
	--ledger-accent: #0170A5;
	--ledger-yellow: var(--e-global-color-accent, #FFBF00);
	--ledger-yellow-hover: #E6AC00;
	--ledger-muted: #2F4E6E;
	--ledger-rule: #DCE7F1;

	/* Inter 400 (text) and 600 (titles, buttons), from Elementor Global Fonts. */
	--ledger-font-heading: var(--e-global-typography-primary-font-family, "Inter"), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--ledger-font-body: var(--e-global-typography-text-font-family, "Inter"), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

	/* Header measurements (overridden by Customize > Header). */
	--ledger-header-h: 80px;
	--ledger-logo-h: 40px;
	--ledger-header-pad: 32px;
	--ledger-content-w: 1140px; /* width of the page content (Elementor boxed sections); the header aligns to it */

	--ledger-measure: 44rem;
	--ledger-wide: 71.25rem;
	--ledger-gutter: clamp(1.25rem, 4vw, 2rem);
}

/* ==========================================================================
   Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--ledger-header-h) + 16px); }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; animation: none !important; }
}

body {
	margin: 0;
	background: var(--ledger-paper);
	color: var(--ledger-ink);
	font-family: var(--ledger-font-body);
	font-size: 1.125rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ledger-font-heading);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--ledger-navy);
	margin: 0 0 0.6em;
}

h1 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.375rem, 2.5vw, 1.75rem); }
h4 { font-size: 1.25rem; }

p { margin: 0 0 1.25em; }

a {
	color: var(--ledger-navy);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}
a:hover { color: var(--ledger-accent); }

:focus-visible {
	outline: 3px solid var(--ledger-accent);
	outline-offset: 3px;
	border-radius: 2px;
}
.ledger-dark :focus-visible { outline-color: var(--ledger-yellow); }

img, video, svg { max-width: 100%; height: auto; }

hr {
	border: 0;
	border-top: 1px solid var(--ledger-rule);
	margin: 2.5rem 0;
}

blockquote {
	margin: 2rem 0;
	padding: 0 0 0 1.5rem;
	border-left: 3px solid var(--ledger-yellow);
	font-family: var(--ledger-font-heading);
	font-size: 1.375rem;
	line-height: 1.4;
	color: var(--ledger-navy);
}

ul, ol { padding-left: 1.25rem; }

table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; padding: 0.75rem 0.5rem; border-bottom: 1px solid var(--ledger-rule); }

/* Accessibility helpers */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus,
.skip-link:focus {
	background: var(--ledger-ink); color: #FFFFFF;
	clip: auto; clip-path: none; height: auto; width: auto;
	left: 1rem; top: 1rem; padding: 0.75rem 1.25rem;
	z-index: 100000; text-decoration: none;
}

/* ==========================================================================
   Layout
   ========================================================================== */
.site-main { display: block; }

.ledger-container {
	width: 100%;
	max-width: calc(var(--ledger-wide) + (var(--ledger-gutter) * 2));
	margin-inline: auto;
	padding-inline: var(--ledger-gutter);
}

.ledger-measure {
	max-width: calc(var(--ledger-measure) + (var(--ledger-gutter) * 2));
	margin-inline: auto;
	padding-inline: var(--ledger-gutter);
}

/* ==========================================================================
   Header (sticky, white, 1px line below)
   Order: logo, phone, menu. Heights/padding: Customize > Header.
   ========================================================================== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--ledger-paper);
	border-bottom: 1px solid var(--ledger-rule);
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	height: calc(var(--ledger-header-h) - 1px); /* the 1 px bottom line is part of the total height */
	padding-inline: var(--ledger-header-pad);
	box-sizing: border-box;
	width: 100%;
	/* Aligned with the page content: logo on its left edge, menu on its right edge (v1.18). Narrower screens use the full width as before. */
	max-width: calc(var(--ledger-content-w) + (var(--ledger-header-pad) * 2));
	margin-inline: auto;
}

.site-branding { display: flex; align-items: center; margin-right: auto; min-width: 0; }
.site-branding .custom-logo-link { display: flex; align-items: center; }
.custom-logo,
.site-branding img { display: block; height: var(--ledger-logo-h); width: auto; max-width: 100%; max-height: none; }

.site-title { margin: 0; font-size: 1.25rem; font-weight: 600; line-height: 1.1; }
.site-title a { color: var(--ledger-navy); text-decoration: none; }

/* Phone */
.site-header__phone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	color: var(--ledger-navy);
	font-size: 1rem;
	font-weight: 400;
	text-decoration: none;
	white-space: nowrap;
}
.site-header__phone:hover { color: var(--ledger-accent); }
.site-header__phone-icon { flex: none; }

/* Menu */
.site-nav { display: flex; align-items: center; }
.site-nav ul {
	display: flex; flex-wrap: nowrap; gap: 8px 32px;
	list-style: none; margin: 0; padding: 0;
}
.site-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 1rem;
	font-weight: 400;
	color: var(--ledger-navy);
	text-decoration: none;
}
.site-nav a:hover { color: var(--ledger-accent); }
.site-nav .current-menu-item > a,
.site-nav .current_page_item > a,
.site-nav a[aria-current="page"] { color: var(--ledger-accent); font-weight: 600; }

/* Menu button (tablet and phone) */
.nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: none;
	border: 0;
	color: var(--ledger-navy);
	cursor: pointer;
}
.nav-toggle .nav-toggle__close { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__close { display: block; }

/* Tablet: 1024 px or less. Menu collapses; phone keeps the full number. */
@media (max-width: 1024px) {
	.site-header__inner { gap: 16px; }
	.nav-toggle { display: inline-flex; }
	.site-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--ledger-paper);
		border-bottom: 1px solid var(--ledger-rule);
		padding-inline: var(--ledger-header-pad);
	}
	.site-nav.is-open { display: block; }
	.site-nav ul { flex-direction: column; gap: 0; }
	.site-nav li { border-top: 1px solid var(--ledger-rule); }
	.site-nav li:first-child { border-top: 0; }
	.site-nav a { display: flex; width: 100%; min-height: 48px; }
}

/* Phone: 767 px or less. The number becomes a 44 x 44 call icon. */
@media (max-width: 767px) {
	.site-header__inner { gap: 8px; }
	.site-header__phone { width: 44px; height: 44px; justify-content: center; }
	.site-header__phone-number {
		border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
		height: 1px; margin: -1px; overflow: hidden; padding: 0;
		position: absolute; width: 1px;
	}
}

/* Buttons */
.ledger-button,
button[type="submit"],
input[type="submit"] {
	display: inline-block;
	background: var(--ledger-yellow);
	color: var(--ledger-navy);
	font-family: var(--ledger-font-body);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.2;
	padding: 0.9rem 1.5rem;
	min-height: 44px;
	border: 1px solid var(--ledger-yellow);
	border-radius: 0;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ledger-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	background: var(--ledger-yellow-hover);
	border-color: var(--ledger-yellow-hover);
	color: var(--ledger-navy);
}

/* ==========================================================================
   Content (non-Elementor pages, posts, archives)
   ========================================================================== */
.entry,
.archive-header,
.error-404 { padding-block: clamp(3rem, 8vw, 6rem); }

.entry-header { margin-bottom: 2.5rem; }
.entry-title { margin: 0 0 0.5rem; }

.entry-meta {
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ledger-muted);
}

.entry-content > * { max-width: var(--ledger-measure); }
.entry-content > .alignwide,
.entry-content > .alignfull { max-width: none; }
/* Spacing for headings in plain text content only; Elementor headings set their own spacing. */
.entry-content h2:not(.elementor-heading-title), .entry-content h3:not(.elementor-heading-title) { margin-top: 2em; }

.post-list { list-style: none; margin: 0; padding: 0; }
.post-list__item {
	padding-block: 2rem;
	border-top: 1px solid var(--ledger-rule);
}
.post-list__item:last-child { border-bottom: 1px solid var(--ledger-rule); }
.post-list__title { margin: 0 0 0.5rem; font-size: 1.75rem; }
.post-list__title a { text-decoration: none; }
.post-list__title a:hover { text-decoration: underline; }
.post-list__excerpt { margin: 0.75rem 0 0; color: var(--ledger-ink); }

.pagination, .nav-links { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 3rem; font-weight: 500; }
.page-numbers { padding: 0.25rem 0.5rem; text-decoration: none; }
.page-numbers.current { border-bottom: 2px solid var(--ledger-accent); }

/* Forms */
input[type="text"], input[type="email"], input[type="url"], input[type="tel"],
input[type="search"], input[type="password"], textarea, select {
	width: 100%;
	background: #FFFFFF;
	color: var(--ledger-ink);
	border: 1px solid #7A8794;
	border-radius: 0;
	padding: 0.75rem 0.875rem;
	font: inherit;

	min-height: 44px;
}
label { display: block; font-weight: 600; font-size: 0.9375rem; margin-bottom: 0.375rem; }

.search-form { display: flex; gap: 0.5rem; max-width: 28rem; }
.search-form label { flex: 1; margin: 0; }

/* Comments */
.comments-area { padding-block: 2rem 4rem; border-top: 1px solid var(--ledger-rule); }
.comment-list { list-style: none; padding: 0; }
.comment-body { padding-block: 1.25rem; border-bottom: 1px solid var(--ledger-rule); }

/* ==========================================================================
   Footer (content lives in the Elementor footer document)
   ========================================================================== */
.site-footer { background: var(--ledger-navy); color: #FFFFFF; }
.site-footer__fallback { padding: 40px var(--ledger-gutter); text-align: center; }
.site-footer__fallback p { margin: 0; }
.site-footer a { color: #FFFFFF; }
.site-footer a:hover { color: #FFFFFF; text-decoration: underline; }
.site-footer :focus-visible { outline-color: var(--ledger-yellow); }

.ledger-footer-logo { display: inline-block; line-height: 0; }
.site-footer .ledger-footer-logo__img { display: block; height: 40px; width: auto; max-width: 100%; }
.ledger-footer-logo--text { color: #FFFFFF; font-weight: 600; font-size: 1.25rem; line-height: 1.2; text-decoration: none; }

/* Footer link lists: 44 px touch targets. */
.ledger-footer-links p { margin: 0; }
.ledger-footer-links a {
	display: flex;
	align-items: center;
	min-height: 44px;
	text-decoration: none;
}
.ledger-footer-links a:hover { text-decoration: underline; }
.ledger-footer-title {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #FFFFFF;
}
.ledger-footer-text p:last-child { margin-bottom: 0; }

/* ==========================================================================
   Elementor integration
   ========================================================================== */
/* Elementor-built pages own their own layout: no theme title, no padding. */
.ledger-elementor .entry,
.elementor-page .entry { padding-block: 0; }
.ledger-elementor .entry-header { display: none; }
.ledger-elementor .entry-content > * { max-width: none; }

/* Keep Elementor's own typography in charge inside its widgets. */
.elementor-widget-text-editor a { text-underline-offset: 0.2em; }
.elementor-widget-heading .elementor-heading-title { letter-spacing: inherit; }

/* Optional utility classes you can add to any Elementor element (Advanced > CSS Classes). */
.ledger-eyebrow {
	font-family: var(--ledger-font-body);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ledger-accent);
}
.ledger-rule-top { border-top: 1px solid var(--ledger-rule); }
.ledger-dark { background: var(--ledger-navy); color: var(--ledger-paper); }
.ledger-dark a { color: #FFFFFF; }
.ledger-dark .ledger-eyebrow { color: var(--ledger-yellow); }
.ledger-bar { width: 56px; height: 4px; background: var(--ledger-yellow); border: 0; margin: 0 0 1.5rem; }
.ledger-alt { background: var(--ledger-paper-alt); }

/* ==========================================================================
   Components (section 2.3). Colors and sizes are defined here, once.
   Use them from Elementor with Advanced > CSS Classes.
   ========================================================================== */

/* Section bands: alternate white and light blue. */
.ledger-band { background: var(--ledger-paper-alt); }
.ledger-band-white { background: var(--ledger-paper); }

/* Short amber line above every page title. Place an HTML widget: <div class="ledger-bar"></div> */
.ledger-bar { display: block; width: 56px; height: 4px; background: var(--ledger-yellow); margin: 0 0 24px; }

/* Reading width */
.ledger-narrow { max-width: 760px; }

/* Text colors */
.elementor .ledger-title .elementor-heading-title { color: var(--ledger-navy); font-weight: 600; letter-spacing: 0; }
.elementor .ledger-lead,
.elementor .ledger-lead p { color: var(--ledger-muted); }
.ledger-lead { font-size: 1.125rem; line-height: 1.6; }
.elementor .ledger-text,
.elementor .ledger-text p { color: var(--ledger-ink); }

/* Buttons: amber ("Request Support", "Send message") and outlined ("See services"). */
.elementor .ledger-btn-primary .elementor-button.elementor-button {
	background: var(--ledger-yellow);
	border: 1px solid var(--ledger-yellow);
	color: var(--ledger-navy);
	font-weight: 600;
	border-radius: 0;
	padding: 16px 28px;
	min-height: 48px;
}
.elementor .ledger-btn-primary .elementor-button.elementor-button:hover,
.elementor .ledger-btn-primary .elementor-button.elementor-button:focus {
	background: var(--ledger-yellow-hover);
	border-color: var(--ledger-yellow-hover);
	color: var(--ledger-navy);
}
.elementor .ledger-btn-outline .elementor-button.elementor-button {
	background: transparent;
	border: 1px solid var(--ledger-accent);
	color: var(--ledger-accent);
	font-weight: 600;
	border-radius: 0;
	padding: 16px 28px;
	min-height: 48px;
}
.elementor .ledger-btn-outline .elementor-button.elementor-button:hover,
.elementor .ledger-btn-outline .elementor-button.elementor-button:focus {
	background: var(--ledger-accent);
	border-color: var(--ledger-accent);
	color: #FFFFFF;
}
@media (max-width: 767px) {
	.elementor .ledger-btn-primary .elementor-button.elementor-button,
	.elementor .ledger-btn-outline .elementor-button.elementor-button { width: 100%; justify-content: center; }
}

/* Forminator submit button: same look as the amber "Request Support" button. */
.forminator-ui.forminator-custom-form .forminator-button.forminator-button-submit {
	background: var(--ledger-yellow);
	border: 1px solid var(--ledger-yellow);
	color: var(--ledger-navy);
	font-family: var(--ledger-font-body);
	font-size: 1rem;
	font-weight: 600 !important;
	border-radius: 0;
	padding: 16px 28px;
	min-height: 48px;
	cursor: pointer;
}
.forminator-ui.forminator-custom-form .forminator-button.forminator-button-submit:hover,
.forminator-ui.forminator-custom-form .forminator-button.forminator-button-submit:focus {
	background: var(--ledger-yellow-hover);
	border-color: var(--ledger-yellow-hover);
	color: var(--ledger-navy);
}
@media (max-width: 767px) {
	.forminator-ui.forminator-custom-form .forminator-button.forminator-button-submit { width: 100%; }
}

/* Cards: white, thin light border, blue top border, title and text only. The
   title link covers the whole card. */
.ledger-card {
	position: relative;
	background: var(--ledger-paper);
	border: 1px solid var(--ledger-rule);
	border-top: 4px solid var(--ledger-blue);
}
.elementor .ledger-card .elementor-heading-title a { color: var(--ledger-navy); text-decoration: none; }
.ledger-card .elementor-heading-title a::after { content: ""; position: absolute; inset: 0; }
.elementor .ledger-card:hover .elementor-heading-title a,
.elementor .ledger-card .elementor-heading-title a:focus-visible { color: var(--ledger-accent); }
.ledger-card:focus-within { outline: 3px solid var(--ledger-accent); outline-offset: 2px; }
.ledger-card .elementor-heading-title a:focus-visible { outline: 0; }

/* Testimonials carousel */
.ledger-testimonials { max-width: 760px; margin-inline: auto; text-align: center; }
.ledger-testimonials__viewport { display: grid; }
.ledger-testimonials__slide {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease, visibility .5s;
}
.ledger-testimonials__slide.is-active { opacity: 1; visibility: visible; }
.ledger-testimonials__text {
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	font-family: var(--ledger-font-body);
	font-size: clamp(1.125rem, 2.2vw, 1.375rem);
	line-height: 1.55;
	color: var(--ledger-navy);
}
.ledger-testimonials__text p { margin: 0; }
.ledger-testimonials__who { display: flex; flex-direction: column; gap: 2px; }
.ledger-testimonials__name { font-weight: 600; color: var(--ledger-navy); }
.ledger-testimonials__company { color: var(--ledger-muted); font-size: 1rem; }
.ledger-testimonials__controls { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 24px; }
.ledger-testimonials__arrow {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0;
	background: none; border: 0; color: var(--ledger-navy); cursor: pointer;
}
.ledger-testimonials__arrow:hover { color: var(--ledger-accent); }
.ledger-testimonials__dots { display: flex; }
.ledger-testimonials__dot {
	position: relative; width: 28px; height: 44px; padding: 0;
	background: none; border: 0; cursor: pointer;
}
.ledger-testimonials__dot::before {
	content: ""; position: absolute; top: 50%; left: 50%;
	width: 10px; height: 10px; margin: -5px 0 0 -5px;
	border-radius: 50%; background: var(--ledger-rule); border: 1px solid #9FB4C8;
}
.ledger-testimonials__dot.is-active::before { background: var(--ledger-navy); border-color: var(--ledger-navy); }

/* Customer logos carousel: fixed box (480 x 200 ratio), logo scaled to fit,
   grayscale, 4 visible (1 on phones), one step at a time. */
.ledger-logos { --ledger-logos-per-view: 4; }
.ledger-logos__viewport { overflow: hidden; }
.ledger-logos__track { display: flex; margin: 0; padding: 0; list-style: none; will-change: transform; }
.ledger-logos__item {
	flex: 0 0 calc(100% / var(--ledger-logos-per-view));
	min-width: 0;
	margin: 0;
	padding: 0 12px;
}
.ledger-logos__item img {
	display: block;
	width: 100%;
	aspect-ratio: 480 / 200;
	object-fit: contain;
	object-position: center;
	filter: grayscale(1);
}
@media (max-width: 767px) {
	.ledger-logos__item { padding: 0 24px; }
}
@media (prefers-reduced-motion: reduce) {
	.ledger-testimonials__slide { transition: none; }
}

/* reCAPTCHA v3: badge hidden (the Google notice is shown under the form button instead). */
.grecaptcha-badge { visibility: hidden !important; }

/* Centered reading column (F.A.Q.) */
.elementor .ledger-center { width: 100%; max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }

/* F.A.Q. accordion (Elementor Accordion widget, class ledger-faq) */
.elementor .ledger-faq .elementor-accordion { border: 0; }
.elementor .ledger-faq .elementor-accordion .elementor-accordion-item { border: 0; border-bottom: 1px solid var(--ledger-rule); }
.elementor .ledger-faq .elementor-accordion .elementor-accordion-item:first-child { border-top: 1px solid var(--ledger-rule); }
.elementor .ledger-faq .elementor-accordion .elementor-tab-title {
	display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 14px 4px; margin: 0;
	background: none; border: 0; cursor: pointer;
	font-family: var(--ledger-font-heading); font-size: 1.0625rem; font-weight: 600; line-height: 1.35; color: var(--ledger-navy);
}
.elementor .ledger-faq .elementor-accordion .elementor-tab-title.elementor-active { color: var(--ledger-navy); background: none; }
.elementor .ledger-faq .elementor-accordion .elementor-tab-title:hover { color: var(--ledger-accent); }
.elementor .ledger-faq .elementor-accordion .elementor-accordion-icon { flex: 0 0 auto; width: auto; margin: 0; padding: 0; color: var(--ledger-accent); }
.elementor .ledger-faq .elementor-accordion .elementor-accordion-icon svg { width: 14px; height: 14px; fill: var(--ledger-accent); }
.elementor .ledger-faq .elementor-accordion .elementor-tab-title a { color: inherit; text-decoration: none; }
.elementor .ledger-faq .elementor-accordion .elementor-tab-content {
	border: 0; padding: 4px 4px 24px 32px; color: var(--ledger-ink);
	font-family: var(--ledger-font-body); font-size: 1rem; line-height: 1.6;
}
.elementor .ledger-faq .elementor-tab-content p { margin: 0 0 12px; color: var(--ledger-ink); }
.elementor .ledger-faq .elementor-tab-content ol,
.elementor .ledger-faq .elementor-tab-content ul { margin: 0 0 12px; padding-left: 22px; }
.elementor .ledger-faq .elementor-tab-content li { margin-bottom: 6px; }
.elementor .ledger-faq .elementor-tab-content code { font-size: 0.9em; background: var(--ledger-paper-alt); padding: 1px 5px; border-radius: 3px; overflow-wrap: anywhere; }
.elementor .ledger-faq .elementor-tab-content a { overflow-wrap: anywhere; }
/* All tips collapsed at load: hidden until faq.js has closed the default-open one. */
.ledger-faq:not(.is-ready) .elementor-tab-content { display: none !important; }
@media (max-width: 767px) {
	.elementor .ledger-faq .elementor-accordion .elementor-tab-title { min-height: 56px; }
	.elementor .ledger-faq .elementor-accordion .elementor-tab-content { padding-left: 4px; }
}

/* Legal pages (Privacy Policy, Terms & Conditions, SMS): narrow centered reading column, about 680px. */
.elementor .ledger-legal { width: 100%; max-width: 680px !important; margin-left: auto !important; margin-right: auto !important; }
.elementor .ledger-legal .ledger-text ul { margin: 0; padding-left: 22px; }
.elementor .ledger-legal .ledger-text li { margin-bottom: 6px; color: var(--ledger-ink); }
.elementor .ledger-legal .ledger-text p { margin: 0; }
