/*
Theme Name: Mission Academy (Uncode Child)
Theme URI: https://academy.carryingthecross.com/
Description: Uncode child theme for Mission Academy (EN) and Escola de Missão (PT-BR). Carrying the Cross design system on top of Uncode + WPBakery; styles the Mission Academy plugin screens. Appearance > Mission Academy setup builds the public pages (WPBakery rows), header menu and footer block.
Author: Carrying the Cross
Template: uncode
Version: 1.0.12
Requires at least: 6.5
License: GPLv2 or later
Text Domain: uncode-child
*/

@font-face { font-family: "Source Serif 4"; src: url(assets/fonts/source-serif-4.woff2) format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url(assets/fonts/source-serif-4-italic.woff2) format("woff2"); font-weight: 400 700; font-style: italic; font-display: swap; }
@font-face { font-family: Geist; src: url(assets/fonts/geist.woff2) format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }

:root {
	--ma-ink: #1C2026; --ma-navy: #161F39; --ma-navy-hover: #26325A; --ma-paper: #FAF8F3; --ma-sand: #E8E4DA;
	--ma-slate: #5F646C; --ma-gold: #DEA028; --ma-gold-hover: #E8B34B; --ma-gold-text: #8A5F0E; --ma-line: #D9D3C5;
	--ma-ui: Geist, "Helvetica Neue", Arial, sans-serif; --ma-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
	--ma-radius: 6px; --ma-wide: 1160px; --ma-gutter: clamp(20px, 5vw, 48px);
	--ma-band-y: clamp(56px, 8vw, 104px);
}

/* ---------- Base type on top of Uncode ---------- */
html body.mau, body.mau .box-container, body.mau .main-container, body.mau .main-wrapper { background-color: var(--ma-paper); }
/* Rows are transparent so each band's own colour shows (never paint .row-parent / .style-light-bg) */
body.mau [class*="ma-band"] :is(.row, .row-parent, .row-inner, .uncol, .uncoltable, .uncell, .uncont, .style-light-bg),
body.mau .ma-trust-band :is(.row, .row-parent, .row-inner, .uncol, .uncell, .uncont),
body.mau .ma-footer :is(.row, .row-parent, .row-inner, .uncol, .uncell, .uncont, .style-light-bg) { background-color: transparent !important; }
body.mau { font-family: var(--ma-serif) !important; color: var(--ma-ink); font-size: 1.1875rem; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.mau .main-container :is(p, li, dd, dt, td, th, blockquote, label, summary, figcaption) { font-family: inherit; }
body.mau .main-container :is(p, li) { font-size: inherit; line-height: 1.6; color: inherit; }
body.mau .main-container, body.mau .main-container .style-light, body.mau .main-container .style-light p { color: var(--ma-ink); }
body.mau .main-container :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4) {
	font-family: var(--ma-serif) !important; font-weight: 600 !important; color: var(--ma-navy); line-height: 1.2; letter-spacing: -.01em; text-transform: none; margin-top: 0;
	text-wrap: balance;
}
body.mau .main-container :is(h1, .h1) { font-size: clamp(2.25rem, 4.8vw, 3.25rem); line-height: 1.1; }
body.mau .main-container :is(h2, .h2) { font-size: clamp(1.75rem, 3vw, 2.25rem); }
body.mau .main-container :is(h3, .h3) { font-size: clamp(1.3rem, 2vw, 1.5rem); }
body.mau .main-container h4 { font-size: 1.2rem; }
body.mau .main-container p { text-wrap: pretty; }
body.mau .main-container :is(h1, h2, h3, h4) + p { margin-top: .8rem; }
body.mau .main-container p { margin: 0 0 1rem; }
body.mau .main-container a { color: var(--ma-navy); text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
body.mau .main-container a:hover { color: var(--ma-gold-text); }
::selection { background: var(--ma-gold); color: var(--ma-navy); }

/* Uncode WPBakery wrappers: let our components control spacing */
body.mau .ma-band, body.mau .ma-trust-band, body.mau .ma-band-raw { position: relative; }
body.mau [class*="ma-band"] .uncont > * + * { margin-top: 0; }
body.mau [class*="ma-band"] .uncode_text_column, body.mau [class*="ma-band"] .wpb_raw_code { margin: 0 !important; }
body.mau [class*="ma-band"] .uncode_text_column + *, body.mau [class*="ma-band"] .wpb_raw_code + *,
body.mau [class*="ma-band"] .vc_row + *, body.mau [class*="ma-band"] .row-internal + * { margin-top: 1.25rem !important; }
body.mau [class*="ma-band"] .uncode_text_column > :last-child, body.mau [class*="ma-band"] .wpb_raw_code > :last-child { margin-bottom: 0; }
body.mau .ma-band > .row, body.mau .ma-band .row.limit-width, body.mau .ma-trust-band .row.limit-width { max-width: calc(var(--ma-wide) + 2 * var(--ma-gutter)); padding-left: var(--ma-gutter) !important; padding-right: var(--ma-gutter) !important; margin-left: auto; margin-right: auto; }
body.mau .ma-band .row { padding-top: 0 !important; padding-bottom: 0 !important; }
body.mau .ma-band .uncell { padding: 0 !important; }
body.mau .ma-band .row-inner > .wpb_column + .wpb_column > .uncol { padding-left: 0; }

/* Base WP-style blocks used inside the raw-HTML components */
.wp-block-group > * + * { margin-top: 1rem; }
.wp-block-group > :first-child { margin-top: 0; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; margin-top: 1.4rem; }
.wp-block-button { margin: 0 !important; }
.wp-block-button__link, .wp-element-button {
	display: inline-block; background: var(--ma-navy); color: #fff !important; border: 0; border-radius: var(--ma-radius);
	font-family: var(--ma-ui) !important; font-size: 1rem; font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none;
	padding: .8em 1.4em; text-decoration: none !important; text-align: center; cursor: pointer;
}
.wp-block-button__link:hover, .wp-element-button:hover, .wp-block-button__link:focus { background: var(--ma-navy-hover); color: #fff !important; }
.wp-block-image { margin: 0; }
.wp-block-image img { max-width: 100%; height: auto; display: block; }
.wp-block-list { padding-left: 1.2rem; }
details > summary { cursor: pointer; }

/* ---------- Header (Uncode menu) ---------- */
body.mau .menu-wrapper .style-light, body.mau .menu-container, body.mau .menu-primary .menu-container, body.mau .navbar, body.mau #masthead .menu-container { background-color: var(--ma-paper) !important; }
body.mau .menu-container { border-bottom: 1px solid var(--ma-line) !important; box-shadow: none !important; }
body.mau .navbar-brand { display: flex !important; align-items: center; text-decoration: none !important; }
body.mau .navbar-brand .text-logo, body.mau .navbar-brand h2.text-logo {
	font-family: var(--ma-serif) !important; font-weight: 600 !important; font-size: 1.45rem !important; line-height: 1.1 !important; color: var(--ma-navy) !important;
	letter-spacing: -.01em; margin: 0 !important; text-transform: none !important; white-space: nowrap;
}
body.mau .navbar-brand .text-logo::after {
	content: "Carrying the Cross"; display: block; font-family: var(--ma-ui); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ma-gold-text); margin-top: 3px;
}
body.mau-lang-pt .navbar-brand .text-logo::after { content: "Carregando a Cruz"; }
body.mau .menu-primary-inner > li > a, body.mau .menu-smart > li > a, body.mau .menu-horizontal-inner a, body.mau .navbar-nav-last a, body.mau .menu-container .menu-smart a {
	font-family: var(--ma-ui) !important; font-size: .95rem !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ma-ink) !important;
}
body.mau .menu-smart > li > a > span, body.mau .menu-primary-inner > li > a { border-bottom: 2px solid transparent; }
body.mau .menu-smart > li > a:hover, body.mau .menu-smart > li.current-menu-item > a { color: var(--ma-navy) !important; }
body.mau .menu-horizontal .menu-smart > li.current-menu-item > a, body.mau .menu-horizontal .menu-smart > li > a:hover { box-shadow: inset 0 -2px 0 var(--ma-gold); }
body.mau .menu-horizontal .menu-smart > li.ma-nav-login > a { position: relative; font-weight: 600 !important; color: var(--ma-navy) !important; box-shadow: none !important; padding-left: 26px !important; padding-right: 26px !important; margin-left: 6px; }
body.mau .menu-horizontal .menu-smart > li.ma-nav-login > a::before {
	content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 38px; transform: translateY(-50%);
	border: 1.5px solid var(--ma-navy); border-radius: var(--ma-radius); pointer-events: none; transition: background-color .15s ease;
}
body.mau .menu-horizontal .menu-smart > li.ma-nav-login > a:hover::before { background: rgba(22,31,57,.06); }
body.mau .menu-horizontal .menu-smart > li.ma-nav-login > a .fa-dropdown { display: none; }
/* Mobile menu */
body.mau .mobile-menu-button .lines, body.mau .mobile-menu-button .lines::before, body.mau .mobile-menu-button .lines::after { background: var(--ma-navy) !important; }
@media (max-width: 959px) {
	body.mau .main-menu-container, body.mau .menu-container .main-menu-container { background: var(--ma-paper) !important; }
	body.mau .menu-smart > li > a { font-size: 1.15rem !important; padding-top: 12px !important; padding-bottom: 12px !important; }
	body.mau .menu-smart > li { border-color: var(--ma-line) !important; }
	body.mau .menu-smart > li.ma-nav-login > a { font-weight: 600 !important; color: var(--ma-navy) !important; }
	body.mau .menu-smart > li.ma-nav-login > a::before { display: none; }
	body.mau .navbar-brand .text-logo { font-size: 1.25rem !important; }
}
body.mau .search-icon, body.mau .menu-smart .search-icon { display: none !important; }
body.mau .menu-smart > li:not(.menu-item-has-children) > a .fa-dropdown, body.mau .menu-smart > li:not(.menu-item-has-children) > a i.fa-angle-right { display: none !important; }

/* ---------- Footer (Uncode content block) ---------- */
body.mau .site-footer, body.mau footer.site-footer .footer-content-block { background: var(--ma-navy) !important; }
body.mau .site-footer .footer-last { display: none; }
.ma-footer { background: var(--ma-navy); color: #C9CDD6; font-family: var(--ma-ui); font-size: .92rem; border-top: 3px solid var(--ma-gold); }
.ma-footer .row.limit-width { max-width: calc(var(--ma-wide) + 2 * var(--ma-gutter)); padding: 48px var(--ma-gutter) 36px !important; margin: 0 auto; }
.ma-footer .uncell { padding: 0 !important; }
body.mau .ma-footer p, body.mau .ma-footer li { font-family: var(--ma-ui) !important; color: #C9CDD6; margin: 0; font-size: .92rem; }
body.mau .ma-footer .ma-footer-brand { font-family: var(--ma-serif) !important; font-size: 1.35rem; font-weight: 600; color: #fff; }
body.mau .ma-footer .ma-footer-tag { color: #AEB4C0; margin-top: .3rem; font-family: var(--ma-serif) !important; font-size: 1.02rem; }
body.mau .ma-footer a { color: #fff !important; text-decoration: none; }
body.mau .ma-footer a:hover { color: var(--ma-gold) !important; text-decoration: underline; }
.ma-footer .ma-footer-links { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; list-style: none; padding: 0; margin: 0; }
.ma-footer .ma-footer-rule { border: 0; border-top: 1px solid rgba(255,255,255,.14); margin: 28px 0 18px; }
body.mau .ma-footer .ma-copy { color: #B4BAC6; font-size: .85rem; }
.ma-footer-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; flex-wrap: wrap; }

/* ---------- Plugin / ordinary pages (Uncode page title + content) ---------- */
body.mau .post-title-wrapper { padding-top: clamp(36px, 5vw, 64px); }
body.mau .post-content > .row-container > .row.limit-width, body.mau .post-content .row.limit-width.row-parent { max-width: calc(var(--ma-wide) + 2 * var(--ma-gutter)); }
body.mau .post-content :is(input[type=text], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=url], input:not([type]), select, textarea) {
	font-family: var(--ma-ui) !important; font-size: 1rem !important; line-height: 1.3 !important; padding: .7em .8em !important; border: 1px solid var(--ma-line) !important; border-radius: var(--ma-radius) !important;
	background: #fff !important; color: var(--ma-ink) !important; box-sizing: border-box; height: auto !important; min-height: 46px; max-width: 100%;
}
body.mau .post-content :is(input[type=checkbox], input[type=radio]) { accent-color: var(--ma-navy); width: 18px; height: 18px; opacity: 1 !important; appearance: auto !important; -webkit-appearance: auto !important; vertical-align: -3px; margin-right: .45em; }
body.mau .post-content input:focus, body.mau .post-content select:focus, body.mau .post-content textarea:focus { outline: 2px solid var(--ma-gold); outline-offset: 1px; border-color: var(--ma-navy); }
body.mau .post-content button[type=submit], body.mau .post-content input[type=submit] {
	background: var(--ma-navy) !important; color: #fff !important; border: 0; border-radius: var(--ma-radius) !important; font-family: var(--ma-ui) !important; font-weight: 600; font-size: 1rem; padding: .8em 1.4em; cursor: pointer; line-height: 1.2; text-transform: none; letter-spacing: 0;
}

/* ---------- Full-width bands ---------- */
.ma-band { padding-top: var(--ma-band-y) !important; padding-bottom: var(--ma-band-y) !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.ma-band + .ma-band { margin-top: 0 !important; }
.ma-paper { background: var(--ma-paper); }
.ma-sand { background: var(--ma-sand); }
.ma-navy { background: var(--ma-navy); color: #E7E9EE; }
.ma-navy :where(h1,h2,h3,h4) { color: #fff; }
.ma-navy a:not(.wp-element-button) { color: #fff; }
.ma-navy a:not(.wp-element-button):hover { color: var(--ma-gold); }
.ma-navy .ma-eyebrow { color: var(--ma-gold); }
.ma-navy .ma-lede { color: #C9CDD6; }
.ma-band > .wp-block-heading:first-child, .ma-band > .ma-eyebrow:first-child { margin-top: 0; }
.ma-section-head { max-width: 720px; margin-bottom: clamp(28px, 4vw, 44px) !important; }
.ma-section-head.ma-center { margin-left: auto !important; margin-right: auto !important; }

/* Hero */
.ma-hero { position: relative; overflow: hidden; padding-top: clamp(72px, 11vw, 140px) !important; padding-bottom: clamp(72px, 11vw, 140px) !important; }
.ma-hero::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--ma-gold); }
.ma-hero::after { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%; border: 1px solid rgba(222,160,40,.22); pointer-events: none; }
.ma-hero h1 { font-size: clamp(2.4rem, 5.6vw, 4rem); max-width: 15ch; margin-top: .2rem; }
.ma-hero .ma-lede { max-width: 40rem; }
.ma-hero .wp-block-buttons { margin-top: 2rem; }
.ma-page-hero { padding-top: clamp(56px, 8vw, 96px) !important; padding-bottom: clamp(48px, 7vw, 80px) !important; }
.ma-page-hero h1 { font-size: clamp(2.1rem, 4.6vw, 3.25rem); max-width: 24ch; }
.ma-page-hero .ma-lede, .ma-hero .ma-lede { max-width: 42rem; }

/* Page title band used by page.html / single.html */
.ma-title-band { background: var(--ma-navy); color: #E7E9EE; border-bottom: 3px solid var(--ma-gold); padding-top: clamp(44px, 6vw, 72px) !important; padding-bottom: clamp(40px, 5vw, 60px) !important; }
.ma-title-band h1, .ma-title-band .wp-block-post-title, .ma-title-band .wp-block-query-title { color: #fff !important; font-size: clamp(2rem, 4.2vw, 3rem); margin: 0; }
.ma-title-band .ma-eyebrow { color: var(--ma-gold); }
.ma-page-body { padding-top: clamp(40px, 6vw, 72px) !important; padding-bottom: clamp(56px, 8vw, 96px) !important; }

/* ---------- Cards and grids ---------- */
.ma-cards { gap: clamp(18px, 2.4vw, 28px) !important; }
.ma-card {
	background: #fff; border: 1px solid var(--ma-line); border-radius: 10px; padding: clamp(22px, 2.6vw, 32px) !important;
	height: 100%; display: flex; flex-direction: column; gap: .7rem;
}
.ma-card > * { margin: 0 !important; }
.ma-card h3 { font-size: 1.45rem; }
.ma-card .wp-block-buttons { margin-top: auto !important; padding-top: .8rem; }
.ma-card ul, .ma-card ol { padding-left: 1.1rem; font-size: 1.02rem; }
.ma-card li { margin: .25rem 0; }
.ma-sand .ma-card { background: var(--ma-paper); }
.ma-card-feature { border-top: 4px solid var(--ma-gold); }
.ma-card.ma-card-dark, .ma-band .ma-card.ma-card-dark { background: var(--ma-navy); border-color: var(--ma-navy); color: #E7E9EE; }
.ma-card.ma-card-dark :where(p, li) { color: #E7E9EE; }
.ma-card-dark h3 { color: #fff; }
.ma-card-dark .ma-eyebrow { color: var(--ma-gold); }
.wp-block-column.ma-col-card { display: flex; }
.wp-block-column.ma-col-card > .ma-card { flex: 1; }

.ma-price { font-family: var(--ma-serif); font-weight: 600; font-size: 2.6rem; line-height: 1; color: var(--ma-navy); }
.ma-price small, .ma-price .ma-per { font-family: var(--ma-ui); font-size: .95rem; font-weight: 500; color: var(--ma-slate); letter-spacing: 0; }
.ma-card-dark .ma-price { color: #fff; }
.ma-card-dark .ma-price small, .ma-card-dark .ma-per { color: #C9CDD6; }
.ma-badge { display: inline-block; font-family: var(--ma-ui); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: var(--ma-gold); color: var(--ma-navy); border-radius: 999px; padding: .3em .8em; align-self: flex-start; }

/* Steps */
.ma-steps { counter-reset: mastep; }
.ma-step { border-top: 2px solid var(--ma-navy); padding-top: 1rem !important; }
.ma-step h3 { font-size: 1.25rem; }
.ma-step h3::before { counter-increment: mastep; content: counter(mastep, decimal-leading-zero); display: block; font-family: var(--ma-ui); font-size: .78rem; letter-spacing: .12em; color: var(--ma-gold-text); margin-bottom: .4rem; font-weight: 600; }
.ma-step p { font-size: 1.02rem; color: var(--ma-slate); }

/* Checklist */
ul.ma-checks { list-style: none; padding-left: 0 !important; }
ul.ma-checks li { position: relative; padding-left: 1.7rem; margin: .45rem 0; }
ul.ma-checks li::before { content: ""; position: absolute; left: 0; top: .5em; width: .8rem; height: .45rem; border-left: 2px solid var(--ma-gold-text); border-bottom: 2px solid var(--ma-gold-text); transform: rotate(-45deg); }
.ma-navy ul.ma-checks li::before, .ma-card-dark ul.ma-checks li::before { border-color: var(--ma-gold); }

/* About */
.ma-portrait img { border-radius: 10px; width: 100%; height: auto; object-fit: cover; aspect-ratio: 4 / 5; object-position: 50% 30%; }
.ma-stats { display: flex; flex-wrap: wrap; gap: 1.6rem 2.4rem; font-family: var(--ma-ui); }
.ma-stats p { margin: 0; font-size: .92rem; color: var(--ma-slate); }
.ma-stats strong { display: block; font-family: var(--ma-serif); font-size: 1.6rem; color: var(--ma-navy); }

/* FAQ (details) */
.ma-faq .wp-block-details { border-bottom: 1px solid var(--ma-line); padding: 1.05rem 0; margin: 0 !important; }
.ma-faq .wp-block-details:first-child { border-top: 1px solid var(--ma-line); }
.ma-faq .wp-block-details summary { font-family: var(--ma-serif); font-weight: 600; font-size: 1.2rem; color: var(--ma-navy); cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.ma-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.ma-faq .wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: -.1rem; font-family: var(--ma-ui); font-weight: 400; font-size: 1.6rem; color: var(--ma-gold-text); }
.ma-faq .wp-block-details[open] summary::after { content: "–"; }
.ma-faq .wp-block-details > :not(summary) { margin-top: .7rem; color: var(--ma-ink); }

/* Draft notice on legal pages */
.ma-draft { background: #FFF6E0; border: 1px solid var(--ma-gold); border-left: 6px solid var(--ma-gold); border-radius: var(--ma-radius); padding: 1rem 1.2rem !important; font-family: var(--ma-ui); font-size: .95rem; }
.ma-legal h2 { font-size: 1.45rem; margin-top: 2.2rem; }
.ma-legal p, .ma-legal li { font-size: 1.05rem; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; text-decoration: none !important; }
.wp-block-button.is-style-ma-gold .wp-block-button__link { background: var(--ma-gold) !important; color: var(--ma-navy) !important; }
.wp-block-button.is-style-ma-gold .wp-block-button__link:hover { background: var(--ma-gold-hover) !important; }
.wp-block-button.is-style-ma-ghost .wp-block-button__link { background: transparent !important; color: var(--ma-navy) !important; box-shadow: inset 0 0 0 1.5px var(--ma-navy); }
.wp-block-button.is-style-ma-ghost .wp-block-button__link:hover { background: var(--ma-navy) !important; color: #fff !important; }
.ma-navy .wp-block-button.is-style-ma-ghost .wp-block-button__link, .ma-card-dark .wp-block-button.is-style-ma-ghost .wp-block-button__link { color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.75); }
.ma-navy .wp-block-button.is-style-ma-ghost .wp-block-button__link:hover, .ma-card-dark .wp-block-button.is-style-ma-ghost .wp-block-button__link:hover { background: #fff !important; color: var(--ma-navy) !important; }
.ma-navy .wp-block-button:not(.is-style-ma-gold):not(.is-style-ma-ghost) .wp-block-button__link { background: var(--ma-gold); color: var(--ma-navy); }
.wp-block-buttons { gap: .8rem; }
.ma-textlink a { font-family: var(--ma-ui); font-weight: 600; font-size: .98rem; text-decoration: none; border-bottom: 1.5px solid var(--ma-gold); color: var(--ma-navy); }

/* ---------- Mission Academy plugin pages ---------- */
.msa-button, .msa-btn, button.msa-button, input[type=submit].msa-button,
body.mau .post-content button[type=submit], body.mau .post-content input[type=submit] {
	background: var(--ma-navy) !important; color: #fff !important; border: 0; border-radius: var(--ma-radius) !important;
	font-family: var(--ma-ui) !important; font-weight: 600; font-size: 1rem; padding: .8em 1.4em; text-decoration: none !important; cursor: pointer; line-height: 1.2;
}
.msa-button:hover, .msa-btn:hover, body.mau .post-content button[type=submit]:hover, body.mau .post-content input[type=submit]:hover { background: var(--ma-navy-hover) !important; }
.msa-button-ghost { background: transparent !important; color: var(--ma-navy) !important; box-shadow: inset 0 0 0 1.5px var(--ma-navy); border: 0 !important; }
.msa-button-ghost:hover { background: var(--ma-navy) !important; color: #fff !important; }
.msa-link { color: #9B2C1F; font-family: var(--ma-ui); font-size: .92rem; }
.msa-grid { gap: clamp(18px, 2.4vw, 28px) !important; }
.msa-card { background: #fff; border: 1px solid var(--ma-line) !important; border-radius: 10px !important; padding: clamp(20px, 2.4vw, 28px) !important; margin: 0; }
.msa-card h3 { font-size: 1.35rem; margin: 0 0 .5rem; }
.msa-card h3 a { color: var(--ma-navy); text-decoration: none; }
.msa-card h3 a:hover { color: var(--ma-gold-text); }
.msa-price { font-family: var(--ma-serif); color: var(--ma-navy) !important; font-size: 1.7rem !important; font-weight: 600 !important; }
.msa-tiers, .msa-hint, .msa-mins, .msa-lock, .msa-progress-label { color: var(--ma-slate) !important; font-family: var(--ma-ui); }
.msa-notice { background: var(--ma-sand) !important; border-left: 4px solid var(--ma-gold) !important; border-radius: var(--ma-radius); font-family: var(--ma-ui); font-size: .98rem; color: var(--ma-ink); }
.msa-notice-error { border-left-color: #B4412F !important; background: #F7E7E3 !important; }
.msa-progress { background: var(--ma-line) !important; border-radius: 999px !important; }
.msa-progress-bar, .msa-progress span { background: var(--ma-gold) !important; }
.msa-outline { padding-left: 0 !important; list-style: none; }
.msa-outline-session { border: 1px solid var(--ma-line); border-radius: 10px; padding: 1rem 1.2rem; background: #fff; font-family: var(--ma-serif); color: var(--ma-navy); }
.msa-outline-session ul { padding-left: 1.1rem; font-size: 1rem; color: var(--ma-ink); }
.msa-outline .msa-done > a::after { color: var(--ma-gold-text) !important; }
.msa-session { border: 1px solid var(--ma-line) !important; border-radius: 10px !important; background: #fff; }
.msa-reflection, .msa-reflect, .msa-guide { background: var(--ma-sand) !important; border-left: 4px solid var(--ma-gold) !important; border-radius: var(--ma-radius) !important; }
.msa-locked, .msa-lock { background: transparent; }
.msa-crumb { font-family: var(--ma-ui); font-size: .85rem !important; letter-spacing: .02em; color: var(--ma-slate); }
.msa-crumb a { color: var(--ma-gold-text); text-decoration: none; }
.msa-nav { border-top: 1px solid var(--ma-line) !important; font-family: var(--ma-ui); }
.msa-done { color: #2E6B3A !important; font-family: var(--ma-ui); }
.msa-quiz fieldset { border: 1px solid var(--ma-line) !important; border-radius: 10px !important; background: #fff; padding: 1.1rem 1.3rem !important; }
.msa-quiz legend { font-family: var(--ma-serif); color: var(--ma-navy); font-size: 1.1rem; }
.msa-quiz label { font-size: 1.02rem; }
.msa-table { font-family: var(--ma-ui); font-size: .92rem !important; background: #fff; border: 1px solid var(--ma-line); border-radius: 10px; overflow: hidden; display: table; }
.msa-table th { background: var(--ma-sand); color: var(--ma-navy); font-weight: 600; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.msa-table th, .msa-table td { border-bottom: 1px solid var(--ma-line) !important; padding: .7em .8em !important; }
.msa-receipt { border: 1px solid var(--ma-line) !important; border-radius: 10px !important; background: #fff; }
.msa-receipt-head { border-bottom-color: var(--ma-gold) !important; }
.msa-checkout { max-width: 640px; }
.msa-checkout form, .msa-team form { font-family: var(--ma-ui); }
.msa-checkout label, .msa-team label { font-size: .95rem; font-weight: 500; color: var(--ma-ink); }
body.mau .post-content input[type=text], body.mau .post-content input[type=email], body.mau .post-content input[type=number],
body.mau .post-content input[type=password], body.mau .post-content select, body.mau .post-content textarea {
	font-family: var(--ma-ui); font-size: 1rem; padding: .7em .8em !important; border: 1px solid var(--ma-line); border-radius: var(--ma-radius); background: #fff; color: var(--ma-ink); box-sizing: border-box;
}
body.mau .post-content input:focus, body.mau .post-content select:focus, body.mau .post-content textarea:focus { outline: 2px solid var(--ma-gold); outline-offset: 1px; border-color: var(--ma-navy); }
.msa-video iframe { border-radius: 10px; background: var(--ma-ink); }
.msa-cert-kicker { color: var(--ma-gold-text) !important; font-family: var(--ma-ui); }

/* WordPress login link inside content */
body.mau .post-content .msa-button + .msa-button { margin-left: .5rem; }


/* ---------- Competitive UX components ---------- */
/* Hero glance strip */
ul.ma-glance { list-style: none; padding: 0; margin: 2.6rem 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.16); max-width: 900px; }
ul.ma-glance li { padding: 1rem 1.2rem 0 0; margin: 0; font-family: var(--ma-ui); font-size: .88rem; color: #AEB4C0; line-height: 1.35; }
ul.ma-glance li + li { padding-left: 1.2rem; border-left: 1px solid rgba(255,255,255,.12); }
ul.ma-glance strong { display: block; font-family: var(--ma-serif); font-size: 1.35rem; font-weight: 600; color: #fff; margin-bottom: .15rem; }

/* Trust strip */
.ma-trust-band { background: var(--ma-paper); border-bottom: 1px solid var(--ma-line); padding-top: 18px !important; padding-bottom: 18px !important; margin: 0 !important; }
ul.ma-trust { list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 2.2rem; font-family: var(--ma-ui); font-size: .9rem; color: var(--ma-slate); max-width: 1160px; }
ul.ma-trust li { margin: 0; white-space: nowrap; }
ul.ma-trust strong { color: var(--ma-navy); font-weight: 700; }
ul.ma-trust li + li::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--ma-gold); margin-right: 2.2rem; vertical-align: middle; position: relative; left: -1.1rem; margin-right: -5px; }

/* Course card meta + curriculum */
ul.ma-meta { list-style: none; padding: 0 !important; margin: 0; display: flex; flex-wrap: wrap; gap: .4rem; font-family: var(--ma-ui); }
ul.ma-meta li { margin: 0 !important; font-size: .8rem; font-weight: 500; color: var(--ma-navy); background: var(--ma-sand); border-radius: 999px; padding: .28em .75em; line-height: 1.3; }
ul.ma-meta li:last-child { background: var(--ma-navy); color: #fff; font-weight: 700; }
.ma-outline { border-top: 1px solid var(--ma-line); padding-top: .6rem; }
.ma-outline-label { font-family: var(--ma-ui); font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ma-gold-text); margin: 0 0 .3rem; }
.ma-session { border-bottom: 1px solid var(--ma-line); }
.ma-session summary { display: grid; grid-template-columns: 2.1rem 1fr auto 1rem; align-items: baseline; gap: .5rem; padding: .62rem 0; cursor: pointer; list-style: none; font-size: 1.02rem; color: var(--ma-ink); }
.ma-session summary::-webkit-details-marker { display: none; }
.ma-session summary::after { content: "+"; font-family: var(--ma-ui); color: var(--ma-gold-text); text-align: right; }
.ma-session[open] summary::after { content: "–"; }
.ma-snum { font-family: var(--ma-ui); font-size: .78rem; font-weight: 600; color: var(--ma-gold-text); letter-spacing: .06em; }
.ma-stitle { font-weight: 600; color: var(--ma-navy); }
.ma-slen { font-family: var(--ma-ui); font-size: .78rem; color: var(--ma-slate); white-space: nowrap; }
.ma-session ul { margin: 0 0 .7rem 2.6rem; padding: 0; font-size: .95rem; color: var(--ma-slate); }
.ma-session li { margin: .2rem 0; }
.ma-course .wp-block-buttons { padding-top: 1rem; }

/* Leader dashboard mock */
.ma-dash { margin: 0; background: #fff; color: var(--ma-ink); border-radius: 12px; padding: 18px; box-shadow: 0 18px 40px rgba(0,0,0,.25); font-family: var(--ma-ui); font-size: .85rem; }
.ma-sand .ma-dash, .ma-paper .ma-dash { box-shadow: 0 10px 30px rgba(22,31,57,.12); border: 1px solid var(--ma-line); }
.ma-dash-top { display: flex; justify-content: space-between; align-items: center; gap: .6rem; flex-wrap: wrap; padding-bottom: 12px; border-bottom: 1px solid var(--ma-line); }
.ma-dash-title { font-family: var(--ma-serif); font-weight: 600; font-size: 1.1rem; color: var(--ma-navy); }
.ma-dash-tag { font-size: .72rem; font-weight: 600; background: var(--ma-gold); color: var(--ma-navy); border-radius: 999px; padding: .25em .7em; }
.ma-dash-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0; }
.ma-dash-stats div { background: var(--ma-paper); border: 1px solid var(--ma-line); border-radius: 8px; padding: 8px 10px; }
.ma-dash-stats strong { display: block; font-family: var(--ma-serif); font-size: 1.3rem; color: var(--ma-navy); line-height: 1.1; }
.ma-dash-stats span { color: var(--ma-slate); font-size: .74rem; }
.ma-dash-invite { display: flex; gap: 6px; margin-bottom: 10px; }
.ma-dash-invite span { flex: 1; border: 1px solid var(--ma-line); border-radius: 6px; padding: 6px 9px; color: #9AA0A8; }
.ma-dash-invite b { background: var(--ma-navy); color: #fff; border-radius: 6px; padding: 6px 12px; font-weight: 600; }
.ma-dash-row { display: grid; grid-template-columns: 1fr 1.2fr 1.3fr 2.4rem 5.2rem; align-items: center; gap: 8px; padding: 7px 0; border-top: 1px solid #EFEBE2; }
.ma-dash-name { font-weight: 600; color: var(--ma-navy); }
.ma-dash-course { color: var(--ma-slate); font-size: .78rem; }
.ma-dash-bar { height: 6px; background: var(--ma-sand); border-radius: 999px; overflow: hidden; }
.ma-dash-bar i { display: block; height: 100%; background: var(--ma-gold); border-radius: 999px; }
.ma-dash-pct { text-align: right; font-variant-numeric: tabular-nums; color: var(--ma-ink); }
.ma-dash-status { font-size: .74rem; color: var(--ma-slate); text-align: right; }
.ma-dash-row.is-done .ma-dash-status { color: #2E6B3A; font-weight: 600; }
.ma-dash figcaption { margin-top: 10px; font-size: .72rem; color: var(--ma-slate); text-align: left; }
.ma-navy .ma-dash figcaption { color: var(--ma-slate); }

@media (max-width: 781px) {
	ul.ma-glance { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1rem; }
	ul.ma-glance li:nth-child(3) { padding-left: 0; border-left: 0; }
	ul.ma-trust { justify-content: flex-start; gap: .35rem 1.2rem; font-size: .84rem; }
	ul.ma-trust li + li::before { display: none; }
	.ma-dash-row { grid-template-columns: 1fr 1fr 2.4rem; }
	.ma-dash-course, .ma-dash-status { display: none; }
	.ma-dash-stats strong { font-size: 1.1rem; }
	.ma-session summary { grid-template-columns: 1.8rem 1fr 1rem; }
	.ma-slen { display: none; }
	.ma-session ul { margin-left: 2.3rem; }
}

/* Hero session preview card */
.ma-hero-grid { align-items: center !important; gap: clamp(32px, 5vw, 72px) !important; }
.ma-preview { background: #fff; color: var(--ma-ink); border-radius: 12px; padding: 20px 22px; box-shadow: 0 24px 50px rgba(0,0,0,.3); font-family: var(--ma-ui); font-size: .88rem; max-width: 380px; margin-left: auto; position: relative; z-index: 1; }
.ma-preview-k { font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ma-gold-text); margin: 0 0 .3rem; }
.ma-preview-t { font-family: var(--ma-serif); font-weight: 600; font-size: 1.25rem; color: var(--ma-navy); margin: 0 0 .9rem; line-height: 1.25; }
.ma-preview ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ma-line); }
.ma-preview li { display: flex; justify-content: space-between; gap: .8rem; padding: .55rem 0; border-bottom: 1px solid #EFEBE2; margin: 0; }
.ma-preview li span:first-child { color: var(--ma-ink); }
.ma-preview li span:last-child { color: var(--ma-slate); white-space: nowrap; }
.ma-preview li.is-done span:first-child::before { content: "✓ "; color: #2E6B3A; font-weight: 700; }
.ma-preview li.is-team span:first-child { font-weight: 600; color: var(--ma-navy); }
.ma-preview-bar { height: 6px; background: var(--ma-sand); border-radius: 999px; margin-top: .9rem; overflow: hidden; }
.ma-preview-bar i { display: block; height: 100%; width: 50%; background: var(--ma-gold); }
.ma-preview-foot { margin: .45rem 0 0; font-size: .75rem; color: var(--ma-slate); }
@media (max-width: 781px) { .ma-hero-visual { display: none !important; } }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	.ma-header-inner { padding-top: 14px; padding-bottom: 14px; }
	.ma-hero::after { display: none; }
}
@media (max-width: 781px) {
	body { font-size: 1.08rem; }
	.ma-brand .ma-brand-name { font-size: 1.25rem; }
	.ma-hero h1 { font-size: 2.35rem; }
	.ma-card h3 { font-size: 1.3rem; }
	.ma-price { font-size: 2.2rem; }
	.ma-portrait img { aspect-ratio: 1 / 1; max-width: 360px; }
	.ma-footer-row { flex-direction: column; gap: 1.4rem; }
	.wp-block-buttons > .wp-block-button { flex: 1 1 auto; }
	.ma-hero .wp-block-buttons > .wp-block-button .wp-block-button__link { width: 100%; text-align: center; }
	.msa-table { display: block; overflow-x: auto; }
	.ma-header .ma-nav-login > .wp-block-navigation-item__content { display: inline-block; }
}
@media print { .ma-header, .ma-footer { display: none !important; } }

/* ---------- Uncode overrides that must come last ---------- */
body.mau .main-container .ma-navy, body.mau .main-container .ma-navy :is(p, li, span, summary, dd) { color: #E7E9EE; }
body.mau .main-container .ma-navy :is(h1, h2, h3, h4) { color: #fff; }
body.mau .main-container .ma-navy .ma-eyebrow { color: var(--ma-gold); }
body.mau .main-container .ma-navy .ma-lede { color: #C9CDD6; }
body.mau .main-container .ma-navy ul.ma-glance li, body.mau .main-container .ma-navy ul.ma-glance span { color: #AEB4C0; }
body.mau .main-container .ma-navy ul.ma-glance strong { color: #fff; }
body.mau .main-container .ma-navy a:not(.wp-element-button) { color: #fff; }
body.mau .main-container .ma-navy a:not(.wp-element-button):hover { color: var(--ma-gold); }
body.mau .main-container :is(.ma-preview, .ma-dash, .ma-card:not(.ma-card-dark)) :is(p, li, span) { color: inherit; }
body.mau .main-container .ma-preview { color: var(--ma-ink); }
body.mau .main-container .ma-dash { color: var(--ma-ink); }
body.mau .main-container .ma-preview li span:last-child, body.mau .main-container .ma-preview-foot, body.mau .main-container .ma-dash :is(.ma-dash-course, .ma-dash-status, .ma-dash-stats span, figcaption) { color: var(--ma-slate); }
body.mau .main-container .ma-dash .ma-dash-name, body.mau .main-container .ma-dash .ma-dash-title, body.mau .main-container .ma-preview-t { color: var(--ma-navy); }
body.mau .main-container .ma-preview-k { color: var(--ma-gold-text); }
body.mau .main-container .ma-dash-tag { color: var(--ma-navy); }
body.mau .main-container .ma-dash-invite b { color: #fff; }
body.mau .main-container .ma-dash-invite span { color: #9AA0A8; }
body.mau .main-container .ma-dash-row.is-done .ma-dash-status { color: #2E6B3A; }
body.mau .main-container .ma-card.ma-card-dark, body.mau .main-container .ma-card.ma-card-dark :is(p, li) { color: #E7E9EE; }
body.mau .main-container .ma-card-dark :is(h3, .ma-price) { color: #fff; }
body.mau .main-container .ma-card-dark .ma-eyebrow { color: var(--ma-gold); }
body.mau .main-container .ma-card-dark .ma-badge { color: var(--ma-navy); }
body.mau .main-container .ma-eyebrow { font-family: var(--ma-ui) !important; }
body.mau .main-container :is(.ma-card, .ma-session, .ma-faq) :is(p, li) { font-size: 1.02rem; }
body.mau .main-container .ma-lede { font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.55; }
body.mau .main-container .ma-card { gap: .7rem; }
body.mau .main-container .ma-card > * { margin: 0 !important; }
body.mau .main-container .ma-card .wp-block-buttons { margin-top: auto !important; }
body.mau .ma-cols .row-inner, body.mau .ma-band .row-inner { align-items: stretch; }
body.mau .ma-cols .uncell > .uncont, body.mau .ma-cols .uncell > .uncont > .wpb_raw_code, body.mau .ma-cols .uncell > .uncont > .wpb_raw_code > .wpb_wrapper { height: 100%; }
body.mau .ma-cols .wpb_raw_code > .wpb_wrapper > .wp-block-column, body.mau .ma-cols .wpb_wrapper > .ma-card { height: 100%; }
body.mau .ma-band .ma-cols > .row { padding: 0 !important; }
.ma-page-hero h1, .ma-legal-hero h1 { max-width: 24ch; }
.ma-legal { max-width: 760px; }
.ma-legal-band { padding-top: clamp(40px, 6vw, 72px) !important; }
.ma-hero::before { z-index: 2; }

/* ---------- Fallback renderer grid (until WPBakery is active) ---------- */
.mau-shim > .row { max-width: calc(var(--ma-wide) + 2 * var(--ma-gutter)); margin: 0 auto; padding-left: var(--ma-gutter); padding-right: var(--ma-gutter); }
.mau-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(20px, 3vw, 40px); row-gap: 0; align-items: stretch; }
.mau-grid > .mau-col { grid-column: span var(--mau-span, 12); min-width: 0; }
.mau-col > .uncol, .mau-col .uncoltable, .mau-col .uncell, .mau-col .uncont { height: 100%; display: block; }
.ma-hero-grid .mau-grid, .ma-hero .mau-grid { align-items: center; column-gap: clamp(32px, 5vw, 72px); }
.ma-hero .mau-col .uncol, .ma-hero .mau-col .uncoltable, .ma-hero .mau-col .uncell, .ma-hero .mau-col .uncont { height: auto; }
.mau-inner { margin-top: 0; }
.ma-cards .mau-grid, .mau-inner.ma-cards > .mau-grid { column-gap: clamp(18px, 2.4vw, 28px); row-gap: clamp(18px, 2.4vw, 28px); }
.mau-inner .wpb_raw_code, .mau-inner .wpb_raw_code > .wpb_wrapper { height: 100%; }
.mau-inner .wpb_wrapper > .wp-block-group.ma-card, .mau-inner .wpb_wrapper > .ma-card { height: 100%; }
.mau-shim .wpb_wrapper > .wp-block-column { height: 100%; display: flex; flex-direction: column; }
.mau-shim .wpb_wrapper > .wp-block-column > .ma-card { flex: 1; }
.ma-band.mau-shim .uncont > * + *, .ma-band.mau-shim .mau-grid + *, .ma-band.mau-shim .mau-inner + * { margin-top: 1.25rem; }
.ma-band.mau-shim .uncont > .mau-inner { margin-top: clamp(24px, 3vw, 36px); }
.ma-band.mau-shim .uncont > :first-child { margin-top: 0; }
.ma-trust-band.mau-shim > .row { padding-top: 0; padding-bottom: 0; }
.ma-footer.mau-shim > .row { padding: 48px var(--ma-gutter) 36px; }

/* List resets for our components (Uncode adds its own markers) */
body.mau .main-container :is(ul.ma-meta, ul.ma-checks, ul.ma-glance, ul.ma-trust, ul.ma-footer-links, .ma-preview ol, .ma-session ul) { list-style: none !important; }
body.mau .main-container :is(ul.ma-meta, ul.ma-checks, ul.ma-glance, ul.ma-trust, ul.ma-footer-links, .ma-preview ol) { padding-left: 0 !important; margin-left: 0 !important; }
body.mau .main-container :is(ul.ma-meta, ul.ma-checks, ul.ma-glance, ul.ma-trust, ul.ma-footer-links, .ma-preview ol) > li::marker { content: ""; }
body.mau .main-container :is(ul.ma-meta, ul.ma-glance, ul.ma-footer-links, ul.ma-checks, .ma-preview ol) > li::after, body.mau .ma-footer ul.ma-footer-links > li::after { content: none !important; display: none !important; }
body.mau .main-container .ma-session ul { list-style: disc !important; }
body.mau .main-container ul.ma-meta li { color: var(--ma-navy) !important; }
body.mau .main-container ul.ma-meta li:last-child { color: #fff !important; }
body.mau .ma-footer ul.ma-footer-links { list-style: none !important; padding: 0 !important; }
body.mau .ma-footer ul.ma-footer-links li::marker { content: ""; }

/* Fallback grid must win over Uncode's table layout */
body.mau .row-inner.mau-grid { display: grid !important; width: auto; table-layout: auto; }
body.mau .row-inner.mau-grid > .wpb_column.mau-col { display: block !important; float: none !important; width: auto !important; padding: 0 !important; }
body.mau .mau-col :is(.uncol, .uncoltable, .uncell, .uncont) { display: block !important; width: auto !important; padding: 0 !important; }

/* Mission Academy plugin singles (course, session, lesson, quiz, enroll) under Uncode */
body.mau.single :is(.post-info, .post-share, .post-tag-container, .post-navigation, .row-navigation) { display: none !important; }
body.mau.single .post-title-wrapper { padding-top: 0 !important; margin-top: 0; }
body.mau.single .post-content > .row-container:first-child .row.double-top-padding, body.mau.single .post-wrapper .row.double-top-padding { padding-top: clamp(28px, 4vw, 48px) !important; }
body.mau .post-title-wrapper + * { margin-top: 0; }
body.mau .row-breadcrumb { display: none !important; }

/* ---------- Mobile polish ---------- */
@media (max-width: 781px) {
	body.mau { font-size: 1.08rem; }
	/* Final CTA + any centred button group: stack full-width */
	.ma-center .wp-block-buttons, .ma-hero .wp-block-buttons, .ma-page-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.ma-center .wp-block-buttons > .wp-block-button, .ma-hero .wp-block-buttons > .wp-block-button, .ma-page-hero .wp-block-buttons > .wp-block-button { width: 100%; }
	.ma-center .wp-block-button__link, .ma-hero .wp-block-button__link, .ma-page-hero .wp-block-button__link, .ma-card .wp-block-button__link { display: block; width: 100%; }
	.ma-card .wp-block-buttons { flex-direction: column; align-items: stretch; }
	body.mau .main-container :is(h1, .h1) { font-size: 2.1rem; line-height: 1.12; }
	body.mau .main-container .ma-hero h1 { font-size: 2.3rem; }
	body.mau .main-container :is(h2, .h2) { font-size: 1.7rem; }
	body.mau .main-container :is(h1, h2, h3) { overflow-wrap: break-word; hyphens: manual; }
	.ma-hero::after { display: none; }
	body.mau .ma-band .row-inner > .wpb_column { width: 100% !important; }
	body.mau .row-inner.mau-grid > .mau-col { grid-column: span 12; }
	.mau-grid { row-gap: 28px; }
	body.mau .ma-band .row-inner > .wpb_column + .wpb_column { margin-top: 28px; }
	.ma-footer-row { flex-direction: column; gap: 1.4rem; }
	.msa-table { display: block; overflow-x: auto; }
}
@media print { #masthead, .site-footer, .menu-wrapper { display: none !important; } }

/* 1.0.3: header login pill sized from the outside; gold rule on top of the footer */
body.mau .menu-horizontal .menu-smart > li.ma-nav-login { margin-left: 22px !important; margin-right: 12px !important; }
body.mau .menu-horizontal .menu-smart > li.ma-nav-login > a::before { left: -16px !important; right: -16px !important; }
body.mau .site-footer, body.mau .ma-footer { border-top: 3px solid var(--ma-gold) !important; }
body.mau .site-footer .ma-footer { border-top: 0 !important; }

/* =====================================================================
   1.0.4–1.0.6: real Uncode WPBakery is active. Fixes for its markup + the 5 known leftovers.
   ===================================================================== */

/* Footer text: Uncode columns now carry .style-light, whose p colour (ink) beat our footer colours */
body.mau .main-container .ma-footer :is(p, li, span, .ma-copy) { color: #C9CDD6 !important; }
body.mau .main-container .ma-footer .ma-footer-brand { color: #fff !important; }
body.mau .main-container .ma-footer .ma-footer-tag { color: #AEB4C0 !important; }
body.mau .main-container .ma-footer .ma-copy { color: #B4BAC6 !important; }

/* (b) Gold rule on top of the footer: drawn by a pseudo-element above Uncode's absolute row background */
body.mau .site-footer, body.mau .ma-footer, body.mau .site-footer .ma-footer { border-top: 0 !important; }
body.mau .ma-footer { position: relative; }
body.mau .ma-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--ma-gold); z-index: 5; pointer-events: none; }

/* (a) Header Login / Log out pill: Uncode's last-item rule (padding 0 !important) beat ours, so the
   text sat off-centre. Ids in :not() lift specificity above it; no .menu-horizontal dependency. */
@media (min-width: 960px) {
	body.mau:not(#ma-a):not(#ma-b) .menu-smart > li.ma-nav-login { margin-left: 24px !important; margin-right: 16px !important; }
	body.mau:not(#ma-a):not(#ma-b) .menu-smart > li.ma-nav-login > a { position: relative; padding-left: 4px !important; padding-right: 4px !important; margin: 0 !important; box-shadow: none !important; font-weight: 600 !important; color: var(--ma-navy) !important; }
	body.mau:not(#ma-a):not(#ma-b) .menu-smart > li.ma-nav-login > a::before {
		content: "" !important; display: block !important; position: absolute; left: -16px !important; right: -16px !important; top: 50%; height: 38px; transform: translateY(-50%);
		border: 1.5px solid var(--ma-navy); border-radius: var(--ma-radius); pointer-events: none; background: transparent; transition: background-color .15s ease;
	}
	body.mau:not(#ma-a):not(#ma-b) .menu-smart > li.ma-nav-login > a:hover::before { background: rgba(22,31,57,.06); }
	body.mau:not(#ma-a):not(#ma-b) .menu-smart > li.ma-nav-login > a :is(.fa-dropdown, i.fa) { display: none !important; }
}

/* (d) Equal-height cards with buttons on the bottom line, desktop only. Uncode lays columns out as table cells
   (and Chrome gets `.chrome .col-lg-* { height: 0 }`), so card rows become flex rows and the column chain stretches.
   A card column = has el_class ma-col-card, or directly holds a .ma-card in its Raw HTML. */
@media (min-width: 960px) {
	body.mau .row-inner:has(> .ma-col-card), body.mau .row-inner:has(> .wpb_column > .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card) { display: flex !important; flex-wrap: nowrap; align-items: stretch; height: auto !important; min-height: 0 !important; }
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) { display: flex !important; flex-direction: column; float: none !important; height: auto !important; align-self: stretch; }
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) > .uncol { overflow: visible !important; }
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) > .uncol,
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) > .uncol > .uncoltable,
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) > .uncol > .uncoltable > .uncell,
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) > .uncol > .uncoltable > .uncell > .uncont,
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) .uncont > .wpb_raw_code,
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) .wpb_raw_code > .wpb_wrapper,
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) .wpb_wrapper > .wp-block-column { display: flex !important; flex-direction: column; flex: 1 0 auto; height: auto !important; min-height: auto !important; max-height: none !important; width: 100%; }
	body.mau .row-inner > :is(.ma-col-card, .wpb_column:has(> .uncol > .uncoltable > .uncell > .uncont > .wpb_raw_code > .wpb_wrapper > .ma-card)) :is(.wpb_wrapper, .wp-block-column) > .ma-card { flex: 1 0 auto; height: auto !important; }
	/* In a row where some card has two buttons, a one-button card reserves the second slot, so primary buttons line up */
	body.mau .row-inner:has(.wp-block-buttons > .wp-block-button + .wp-block-button) .ma-card .wp-block-buttons:has(> .wp-block-button:only-child)::after {
		content: "\00a0"; visibility: hidden; display: block; flex: 0 0 100%; font-family: var(--ma-ui); font-size: 1rem; font-weight: 600; line-height: 1.2; padding: .8em 0;
	}
}

/* Card prices: the generic `.main-container p { font-size: inherit }` reset was shrinking them to body size */
body.mau .main-container p.ma-price { font-size: 2.6rem; line-height: 1; }
@media (max-width: 781px) { body.mau .main-container p.ma-price { font-size: 2.2rem; } }

/* (c) Plugin course outline: no disc bullets; lesson rows with the minutes on the right */
body.mau .main-container ol.msa-outline { list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
body.mau .main-container ol.msa-outline > li.msa-outline-session { margin-left: 0 !important; list-style: none !important; }
body.mau .main-container ol.msa-outline > li::marker { content: ""; }
body.mau .main-container .msa-outline-session > ul { list-style: none !important; padding: 0 !important; margin: .7rem 0 0 !important; font-weight: 400; }
body.mau .main-container .msa-outline-session > ul > li { list-style: none !important; display: flex; align-items: baseline; gap: .4rem; margin: 0 !important; padding: .5rem 0; border-top: 1px solid #EFEBE2; font-size: 1rem; color: var(--ma-ink); }
body.mau .main-container .msa-outline-session > ul > li::marker { content: ""; }
body.mau .main-container .msa-outline-session > ul > li::before { content: none !important; display: none !important; }
body.mau .main-container .msa-outline-session > ul > li > .msa-mins { margin-left: auto; white-space: nowrap; font-size: .85rem; }
body.mau .main-container .msa-outline-session > ul > li > a { text-decoration: none; color: var(--ma-ink); }
body.mau .main-container .msa-outline-session > ul > li > a:hover { color: var(--ma-gold-text); text-decoration: underline; }
body.mau .main-container .msa-outline-session > ul > li.msa-outline-quiz > a { font-family: var(--ma-ui); font-size: .92rem; font-weight: 600; color: var(--ma-navy); }
body.mau .main-container .msa-outline > li + li { margin-top: 1rem !important; }

/* (e) "A partir de R$ 50": currency and number are joined with a no-break space at render time (functions.php);
   keep the hero stat lines from breaking inside short tokens too */
body.mau ul.ma-glance strong { overflow-wrap: normal; word-break: normal; hyphens: none; }

/* Plugin team dashboard: ghost button really ghost; inline forms line up */
body.mau .post-content :is(button, input[type=submit], a).msa-button.msa-button-ghost { background: transparent !important; color: var(--ma-navy) !important; box-shadow: inset 0 0 0 1.5px var(--ma-navy) !important; }
body.mau .post-content :is(button, input[type=submit], a).msa-button.msa-button-ghost:hover { background: var(--ma-navy) !important; color: #fff !important; }
body.mau .post-content form.msa-inline-form { display: inline-flex; align-items: stretch; gap: .5rem; flex-wrap: wrap; margin: 0 .5rem .9rem 0; vertical-align: top; }
body.mau .post-content form.msa-inline-form > :is(input[type=email], input[type=text], button) { margin: 0 !important; min-height: 46px; box-sizing: border-box; }
body.mau .post-content form.msa-inline-form > button { line-height: 1.2 !important; padding-top: 0 !important; padding-bottom: 0 !important; }

/* Legal pages: headings after a list get the same space as after a paragraph */
body.mau .main-container .ma-legal :is(ul, ol) { margin-bottom: 1.2rem !important; }
body.mau .main-container .ma-legal :is(ul, ol) + :is(h2, h3) { margin-top: 2rem !important; }

/* Short plugin pages (lesson, quiz, My Courses): keep the footer near the bottom of the screen */
body.mau .main-container > .page-wrapper { min-height: calc(100vh - 360px); }
body.mau.admin-bar .main-container > .page-wrapper { min-height: calc(100vh - 392px); }
body.mau .ma-section-head.ma-center { text-align: center; }

/* 1.0.8-1.0.10: third course. Two card bands on /courses/ and Home read as one section */
body.mau .ma-band.ma-band-join-b { padding-bottom: clamp(24px, 3vw, 36px) !important; }
body.mau .ma-band.ma-band-join-t { padding-top: 0 !important; }
/* 1.0.10: Home uses the same joined bands; stacked cards on phones get the same ~64px rhythm across the join */
@media (max-width: 781px) { body.mau .ma-band.ma-band-join-b { padding-bottom: 64px !important; } }
