/*
Theme Name:   GoAudits
Theme URI:    https://goaudits.com/
Description:  GoAudits child theme for Hello Elementor. Styles only. Brand colours and fonts live in the Elementor kit (Site Settings); site logic lives in the goaudits-core MU plugin.
Author:       GoAudits
Author URI:   https://goaudits.com/
Template:     hello-elementor
Version:      1.2.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain:  goaudits
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
*/

/*
 * Keep this file small. Before adding a rule here, check whether it belongs in:
 *   - Elementor Site Settings (global colours, typography, buttons), or
 *   - an Elementor global class.
 * Only add site-wide fixes that Elementor can't express.
 */

/* Logo: keep the SVG crisp and stop it collapsing before it loads */
.site-logo img[src$=".svg"],
.elementor-widget-theme-site-logo img[src$=".svg"] {
	height: auto;
	aspect-ratio: 277 / 62;
}

/* Blog post body (Single post 2026 template): keep block-editor content inside the reading column.
   Spectra "alignfull"/"alignwide" containers otherwise stretch to the full viewport width. */
.elementor-widget-theme-post-content .alignfull,
.elementor-widget-theme-post-content .alignwide,
.elementor-widget-theme-post-content .uagb-is-root-container {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.elementor-widget-theme-post-content .uagb-container-inner-blocks-wrap {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.elementor-widget-theme-post-content img {
	max-width: 100%;
	height: auto;
}
.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3 {
	margin-top: 1.6em;
	margin-bottom: 0.6em;
	line-height: 1.25;
}

/* ------------------------------------------------------------------
 * Parity with the old Rife theme (visual diff 2026-11-09).
 * These replace styles that came from Rife and its Customizer CSS.
 * The content cleanup script will make several of them unnecessary.
 * ------------------------------------------------------------------ */

/* Old sections overflowed sideways at tablet/phone widths; Rife hid it.
   "clip" (not "hidden") so the sticky header keeps working. */
html,
body {
	overflow-x: clip;
}

/* Headings: many widgets have line-height 1 plus a negative bottom margin,
   which overlaps the paragraph below with Plus Jakarta Sans. */
.elementor-widget-heading .elementor-heading-title {
	line-height: 1.2 !important;
}

/* Buttons without their own text colour were white under Rife;
   the kit link colour would otherwise make them green-on-green. */
.elementor-kit-6874 a.elementor-button {
	color: #FFFFFF;
}

/* Lists inside text widgets and articles */
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
	margin: 0 0 1em;
	padding-left: 1.4em;
}
.elementor-widget-text-editor li,
.elementor-widget-theme-post-content li {
	margin-bottom: 0.35em;
}
.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p {
	margin-bottom: 1em;
}

/* Tables in Elementor widgets: Hello adds borders and zebra rows; Rife had none. */
.elementor-widget-text-editor table td,
.elementor-widget-text-editor table th,
.elementor-widget-html table td,
.elementor-widget-html table th,
.elementor-widget-shortcode table td,
.elementor-widget-shortcode table th {
	border: 0;
}
.elementor-widget-text-editor table tbody > tr:nth-child(odd) > td,
.elementor-widget-text-editor table tbody > tr:nth-child(odd) > th,
.elementor-widget-html table tbody > tr:nth-child(odd) > td,
.elementor-widget-html table tbody > tr:nth-child(odd) > th,
.elementor-widget-shortcode table tbody > tr:nth-child(odd) > td,
.elementor-widget-shortcode table tbody > tr:nth-child(odd) > th {
	background-color: transparent;
}

/* Template pages: the embedded sample checklist had a fixed 800px width */
.scrollable-content {
	max-width: 100%;
}

/* Blog image captions centred (from the old Customizer CSS) */
.wp-block-image figcaption {
	text-align: center;
}

/* Home hero typing headline (Elementor Pro animated headline, element fae04a1):
   reserve its final height so the typing effect doesn't push the page down (CLS). */
.elementor-element-fae04a1 .elementor-headline {
	min-height: 2.6em;
}
@media (max-width: 767px) {
	.elementor-element-fae04a1 .elementor-headline {
		min-height: 3.8em;
	}
}

/* Hello Elementor's reset gives every <button> a pink (#c36) border/hover. Use the brand instead,
   and keep the pricing page's billing toggle (Tailwind classes) as it was on the old site. */
[type="button"],
[type="submit"],
button {
	border-color: transparent;
}
[type="button"]:focus,
[type="button"]:hover,
[type="submit"]:focus,
[type="submit"]:hover,
button:focus,
button:hover {
	background-color: #367A64;
	color: #FFFFFF;
}
button.rounded-md:hover,
button.rounded-md:focus {
	background-color: transparent;
	color: inherit;
}
button.rounded-md.bg-white:hover,
button.rounded-md.bg-white:focus {
	background-color: #FFFFFF;
	color: #4DA387;
}
.elementor-menu-toggle:hover,
.elementor-menu-toggle:focus {
	background-color: transparent;
}

/* Tables with class "table" (pricing "Compare the plans"): thin row lines and left-aligned
   labels, as with the old theme's Bootstrap-style table rules. */
.elementor-widget-html table.table,
.elementor-widget-text-editor table.table,
.elementor-widget-shortcode table.table {
	width: 100%;
	border-collapse: collapse;
}
.elementor-widget-html table.table th,
.elementor-widget-html table.table td,
.elementor-widget-text-editor table.table th,
.elementor-widget-text-editor table.table td,
.elementor-widget-shortcode table.table th,
.elementor-widget-shortcode table.table td {
	border-top: 1px solid #ECEEEF;
	padding: 12px;
	text-align: left;
	vertical-align: middle;
	background-color: transparent;
}
.elementor-widget-html table.table .text-center,
.elementor-widget-text-editor table.table .text-center,
.elementor-widget-shortcode table.table .text-center {
	text-align: center;
}
.elementor-widget-html table.table h3 {
	margin: 0;
}

/* Space between a heading and the text that follows it (many old widgets have a negative
   bottom margin that touched the next line with Plus Jakarta Sans). */
.elementor-widget-heading + .elementor-widget-text-editor,
.elementor-widget-heading + .elementor-widget-icon-list,
.elementor-widget-heading + .elementor-widget-heading {
	margin-top: 16px !important;
}

/* Home typing headline: no dark "selected text" box between words, no clipped descenders. */
.elementor-element-fae04a1 {
	--typing-selected-bg-color: transparent;
	--typing-selected-color: #367A64;
}
/* Same baseline as "for", and the line keeps its height while the word is empty between changes
   (a zero-width space stops the line collapsing and everything below jumping). */
.elementor-element-fae04a1 .elementor-headline-plain-text,
.elementor-element-fae04a1 .elementor-headline-dynamic-wrapper,
.elementor-element-fae04a1 .elementor-headline-dynamic-text {
	vertical-align: top !important;
	padding: 0;
}
.elementor-element-fae04a1 .elementor-headline-dynamic-wrapper {
	min-height: 1.2em;
	min-width: 1px;
}
.elementor-element-fae04a1 .elementor-headline-dynamic-wrapper::after {
	content: "\200B";
}
.elementor-element-fae04a1 .elementor-headline-dynamic-wrapper.elementor-headline-typing-selected,
.elementor-element-fae04a1 .elementor-headline-typing-selected {
	background-color: transparent !important;
	color: #367A64 !important;
}
.elementor-element-fae04a1 .elementor-headline,
.elementor-element-fae04a1 .elementor-headline-dynamic-wrapper,
.elementor-element-fae04a1 .elementor-headline-dynamic-text,
.elementor-element-fae04a1 .elementor-headline-dynamic-letter {
	line-height: 1.2 !important;
}

/* Space after images / image boxes and between stacked text blocks (the old theme's paragraph
   margins provided this; e.g. /customers/ case-study cards). */
.elementor-widget-image + .elementor-widget-text-editor,
.elementor-widget-image + .elementor-widget-heading,
.elementor-widget-image-box + .elementor-widget-text-editor,
.elementor-widget-image-box + .elementor-widget-heading {
	margin-top: 16px !important; /* widgets often carry their own margin setting */
}
.elementor-widget-text-editor + .elementor-widget-text-editor {
	margin-top: 8px !important;
}

/* Elementor's hidden icon sprites at the end of <body>. Some pages (e.g. /pricing/ embedded Tailwind CSS)
   force "svg { display: inline !important }", which made them show as 300px of white space under the footer. */
svg.e-font-icon-svg-symbols {
	display: none !important;
}

/* ------------------------------------------------------------------
 * ONE place for fonts and colours: Elementor → Site Settings → Global Fonts / Global Colors.
 * The newer Elementor "Variables" used by the header, footer and blog templates (--ga-*) are
 * linked here to the Site Settings values, so changing a Global Font or Global Color updates
 * those templates too. (Editing the Variables themselves has no effect while this is in place.)
 * ------------------------------------------------------------------ */
body[class*="elementor-kit-"] {
	--ga-font-heading: var(--e-global-typography-primary-font-family);
	--ga-primary: var(--e-global-color-primary);
	--ga-deep: var(--e-global-color-secondary);
	--ga-text: var(--e-global-color-text);
	--ga-surface: var(--e-global-color-accent);
}

/* Phones: the typed word always sits on its own line (no cursor jumping between lines). */
@media (max-width: 767px) {
	.elementor-element-fae04a1 .elementor-headline-dynamic-wrapper {
		display: block !important;
	}
}
